Skip to main content
Log in

Models and emerging trends of concurrent constraint programming

  • Survey
  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Concurrent Constraint Programming (CCP) has been used over the last two decades as an elegant and expressive model for concurrent systems. It models systems of agents communicating by posting and querying partial information, represented as constraints over the variables of the system. This covers a vast variety of systems as those arising in biological phenomena, reactive systems, net-centric computing and the advent of social networks and cloud computing. In this paper we survey the main applications, developments and current trends of CCP.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi, M., & Gordon, A.D. (1999). A calculus for cryptographic protocols: The spi calculus. Information and Computation, 148(1), 1–70.

    Article  MathSciNet  MATH  Google Scholar 

  2. Allombert, A., Desainte-Catherine, M., Assayag, G. (2008). Iscore: a system for writing interaction. In Tsekeridou, S., Cheok, A.D., Giannakis, K., Karigiannis, J. (Eds.) DIMEA, ACM International Conference Proceeding Series (vol. 349, pp. 360–367). ACM.

  3. Alpuente, M., Falaschi, M., Villanueva, A. (2004). A symbolic model checker for tccp programs. In Guelfi, N. (Ed.) RISE, LNCS (vol. 3475, pp. 45–56). Springer.

  4. Alpuente, M., Gramlich, B., Villanueva, A. (2007). A framework for timed concurrent constraint programming with external functions. ENTCS, 188, 143–155.

    Google Scholar 

  5. Alpuente, M., del Mar Gallardo, M., Pimentel, E., Villanueva, A. (2005). A semantic framework for the abstract model checking of tccp programs. Theoretical Computer Science, 346(1), 58–95.

    Article  MathSciNet  MATH  Google Scholar 

  6. Alpuente, M., del Mar Gallardo, M., Pimentel, E., Villanueva, A. (2006). Verifying real-time properties of tccp programs. Journal of Universal Computer Science, 12(11), 1551–1573.

    MathSciNet  Google Scholar 

  7. Alpuente, M., del Mar Gallardo, M., Pimentel, E., Villanueva, A. (2008). An abstract analysis framework for synchronous concurrent languages based on source-to-source transformation. ENTCS, 206, 3–21.

    Google Scholar 

  8. Amadio, R.M., Lugiez, D., Vanackère, V. (2003). On the symbolic reduction of processes with cryptographic functions. Theoretical Computer Science, 290(1), 695–740.

    Article  MathSciNet  MATH  Google Scholar 

  9. Aranda, J., Pérez, J.A., Rueda, C., Valencia, F.D. (2008). Stochastic behavior and explicit discrete time in concurrent constraint programming. In de la Banda, M.G., & Pontelli, E. (Eds.) Logic Programming, 24th Int. Conference, ICLP 2008, Udine, Italy, December 9–13 2008, Proceedings, LNCS (vol. 5366, pp. 682–686). Springer.

  10. Arbelaez, A., Gutierrez, J., Perez, J.A. (2006). Timed concurrent constraint programming in systems biology. Newsletter of the Association for Logic Programming, 19(4).

  11. Aristizábal, A., Bonchi, F., Palamidessi, C., Pino, L.F., Valencia, F.D. (2011). Deriving labels and bisimilarity for concurrent constraint programming. In M. Hofmann (Ed.) FOSSACS, LNCS, (vol. 6604, pp. 138–152). Springer.

  12. Aristizábal, A., Bonchi, F., Valencia, F.D., Pino, L.F. (2012). Partition refinement for bisimilarity in ccp. In Ossowski, S., & Lecca, P. (Eds.) Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, March 26–30, 2012 (pp. 88–93). ACM.

  13. Assayag, G., Dubnov, S., Rueda, C. (2006). A concurrent constraints factor oracle model for music improvisation. In Proc. of CLEI 2006.

  14. de la Banda, M.G., & Pontelli, E. (Eds.) (2008). Logic Programming, 24th Int. Conference, ICLP 2008, Udine, Italy, December 9–13 2008, Proceedings, LNCS (vol. 5366). Springer.

  15. Barahona, P., & Felty, A.P. (Eds.) (2005). Proceedings of the 7th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, July 11–13 2005, Lisbon, Portugal. ACM.

  16. Barco, A., Knight, S., Valencia, F. (2012). K-stores A spatial and epistemic concurrent constraint interpreter. In Proc. of WFLP’12.

  17. Bartoletti, M., & Zunino, R. (2010). A calculus of contracting processes. In LICS (pp. 332–341). IEEE Computer Society.

  18. Bengtson, J., Johansson, M., Parrow, J., Victor, B. (2011). Psi-calculi: a framework for mobile processes with nominal data and logic. Logical Methods in Computer Science, 7(1).

  19. Bergstra, J.A., & Klop, J.W. (1985). Algebra of communicating processes with abstraction. Theoretical Computer Science, 37, 77–121.

    Article  MathSciNet  MATH  Google Scholar 

  20. Berry, G., & Gonthier, G. (1992). The esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming, 19(2), 87–152.

    Article  MATH  Google Scholar 

  21. Bertolino, M., Etalle, S., Palamidessi, C. (1999). The replacement operation for ccp programs. In Bossi, A. (Ed.) LOPSTR, LNCS, (vol. 1817, pp. 216–233). Springer.

  22. Best, E., de Boer, F., Palamidessi, C. (1995). Concurrent constraint programming with information removal. In First Workshop on Concurrent Constraint Programming.

  23. Best, E., de Boer, F.S., Palamidessi, C. (1997). Partial order and sos semantics for linear constraint programs. In Garlan, D., & Métayer, D.L. (Eds.) COORDINATION, LNCS (vol. 1282, pp. 256–273). Springer.

  24. Betz, H., & Frühwirth, T.W. (2005). A linear-logic semantics for constraint handling rules. In van Beek, P. (Ed.) CP, LNCS (vol. 3709, pp. 137–151). Springer.

  25. Bistarelli, S. (2004). Semirings for Soft Constraint Solving and Programming. In LNCS (vol. 2962). Springer.

  26. Bistarelli, S., Bottalico, M., Santini, F. (2009). Constraint-based languages to model the blood coagulation cascade. In Ferilli, S., & Malerba, D. (Eds.) Logic-Based Approaches in Bioinformatics (pp. 32–41).

  27. Bistarelli, S., Campli, P., Santini, F.: A secure coordination of agents with nonmonotonic soft concurrent constraint programming. In Ossowski, S., & Lecca, P. (Eds.) Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, March 26–30, 2012 (pp. 1551–1553). ACM.

  28. Bistarelli, S., Gabbrielli, M., Meo, M.C., Santini, F. (2008). Timed soft concurrent constraint programs. In Lea, D., & Zavattaro, G. (Eds.) COORDINATION, LNCS (vol. 5052, pp. 50–66). Springer.

  29. Bistarelli, S., Montanari, U., Rossi, F. (2006). Soft concurrent constraint programming. ACM Transactions On Computational Logic, 7(3), 563–589.

    Article  MathSciNet  Google Scholar 

  30. Bistarelli, S., Montanari, U., Rossi, F., Schiex, T., Verfaillie, G., Fargier, H. (1999). Semiring-based CSPs and valued CSPs: Frameworks, properties, and comparison. Constraints, 4(3), 199–240.

    Article  MathSciNet  MATH  Google Scholar 

  31. Bistarelli, S., Santini, F. (2011). A nonmonotonic soft concurrent constraint language to model the negotiation process. Fundamenta Informaticae, 111(3), 257–279.

    MathSciNet  MATH  Google Scholar 

  32. Bockmayr, A., & Courtois, A. (2002). Using hybrid concurrent constraint programming to model dynamic biological systems. In Stuckey, P.J. (Ed.) ICLP, LNCS (vol. 2401, pp. 85–99). Springer.

  33. de Boer, F.S., Gabbrielli, M., Marchiori, E., Palamidessi, C. (1997). Proving concurrent constraint programs correct. ACM Transactions on Programming Languages and Systems, 19(5), 685–725.

    Article  Google Scholar 

  34. de Boer, F.S., Gabbrielli, M., Meo, M.C. (2000). A timed concurrent constraint language. Information and Computation, 161(1), 45–83.

    Article  MathSciNet  MATH  Google Scholar 

  35. de Boer, F.S., Gabbrielli, M., Meo, M.C. (2004). Proving correctness of timed concurrent constraint programs. ACM Transactions On Computational Logic, 5(4), 706–731.

    Article  MathSciNet  Google Scholar 

  36. de Boer, F.S., Gabbrielli, M., Palamidessi, C. (1996). Proving correctness of constraint logic programs with dynamic scheduling. In Cousot, R., & Schmidt, D.A. (Eds.) SAS, LNCS (vol. 1145, pp. 83–97). Springer.

  37. de Boer, F.S., Kok, J.N., Palamidessi, C., Rutten, J.J.M.M. (1989). Control flow versus logic: A denotational and a declarative model for guarded horn clauses. In Kreczmar, A., & Mirkowska, G. (Eds.) MFCS, LNCS (vol. 379, pp. 165–176). Springer.

  38. de Boer, F.S., Kok, J.N., Palamidessi, C., Rutten, J.J.M.M. (1989). Semantic models for a version of parlog. In ICLP (pp. 621–636).

  39. de Boer, F.S., & Palamidessi, C. (1991). A fully abstract model for concurrent constraint programming. In Abramsky, S., & Maibaum, T.S.E. (Eds.) TAPSOFT, Vol. 1, LNCS, (vol. 493, pp. 296–319). Springer.

  40. de Boer, F.S., & Palamidessi, C. (1992). On the semantics of concurrent constraint programming. In ALPUK (pp. 145–173).

  41. de Boer, F.S., Pierro, A.D., Palamidessi, C. (1995). Nondeterminism and infinite computations in constraint programming. Theoretical Computer Science, 151(1), 37–78.

    Article  MathSciNet  MATH  Google Scholar 

  42. Boreale, M. (2001). Symbolic trace analysis of cryptographic protocols. In Orejas, F., Spirakis, P.G., van Leeuwen, J. (Eds.) ICALP, LNCS (vol. 2076, pp. 667–681). Springer.

  43. Borning, A. (Ed.) (1994). Principles and Practice of Constraint Programming, Second International Workshop, PPCP’94, Rosario, Orcas Island, Washington, USA, May 2–4, 1994, Proceedings, LNCS (vol. 874). Springer.

  44. Bortolussi, L., & Policriti, A. (2008). Modeling biological systems in stochastic concurrent constraint programming. Constraints, 13(1–2), 66–90.

    Google Scholar 

  45. Bortolussi, L., & Wiklicky, H. (2005). A distributed and probabilistic concurrent constraint programming language. In Gabbrielli, M., & Gupta, G. (Eds.) ICLP, Lecture Notes in Computer Science (vol. 3668, pp. 143–158). Springer.

  46. Bottalico, M., & Bistarelli, S. (2009). Constraint based languages for biological reactions. In Hill, P.M., & Warren, D.S. (Eds.) Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14–17, 2009. Proceedings, LNCS (vol. 5649, pp. 561–562). Springer.

  47. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W. (1984). A theory of communicating sequential processes. Journal of ACM, 31(3), 560–599.

    Article  MathSciNet  MATH  Google Scholar 

  48. Bueno, F., Hermenegildo, M.V., Montanari, U., Rossi, F. (1998). Partial order and contextual net semantics for atomic and locally atomic cc programs. Science of Computer Programming, 30(1–2), 51–82.

    Google Scholar 

  49. Buscemi, M.G., Coppo, M., Dezani-Ciancaglini, M., Montanari, U. (2011). Constraints for service contracts. In Bruni, R., & Sassone, V. (Eds.) TGC, LNCS, (vol. 7173, pp. 104–120). Springer.

  50. Buscemi, M.G., & Montanari, U. (2007). CC-Pi: A constraint-based language for specifying service level agreements. In De Nicola, R. (Ed.) ESOP, LNCS (vol. 4421, pp. 18–32). Springer.

  51. Buscemi, M.G., & Montanari, U. (2008). Open bisimulation for the concurrent constraint pi-calculus. In Drossopoulou, S. (Ed.) ESOP, LNCS (vol. 4960, pp. 254–268). Springer.

  52. Buscemi, M.G., & Montanari, U. (2011). CC-Pi: A constraint language for service negotiation and composition. In Wirsing, M., & Hölzl, M.M. (Eds.) Results of the SENSORIA Project, LNCS (vol. 6582, pp. 262–281). Springer.

  53. Buscemi, M.G., & Montanari, U. (2011). Qos negotiation in service composition. Journal of Logic and Algebraic Programming, 80(1), 13–24.

    Article  MathSciNet  MATH  Google Scholar 

  54. Campli, P., Bistarelli, S. (2009). Capturing fair computations on concurrent constraint language. In Hill, P.M., & Warren, D.S. (Eds.) Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14–17, 2009. Proceedings, LNCS (vol. 5649, pp. 559–560). Springer.

  55. Cardelli, L., & Gordon, A.D. (1998). Mobile ambients. In Nivat, M. (Ed.) FoSSaCS, LNCS (vol. 1378, pp. 140–155). Springer.

  56. Carlson, B., Haridi, S., Janson, S. (1994). AKL(FD) - a concurrent language for FD programming. In SLP (pp. 521–535).

  57. Chiarugi, D., Falaschi, M., Olarte, C., Palamidessi, C. (2010). Compositional modelling of signalling pathways in timed concurrent constraint programming. In Zhang, A., Borodovsky, M., Özsoyoglu, G., Mikler, A.R. (Eds.) BCB (pp. 414–417). ACM.

  58. Comini, M., Titolo, L., Villanueva, A. (2011). Abstract diagnosis for timed concurrent constraint programs. TPLP, 11(4–5), 487–502.

    Google Scholar 

  59. Coppo, M., & Dezani-Ciancaglini, M. (2008). Structured communications with concurrent constraints. In Kaklamanis, C., & Nielson, F. (Eds.) TGC, LNCS (vol. 5474, pp. 104–125). Springer.

  60. Cousot, P., & Cousot, R. (1992). Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2 & 3), 103–179.

    Google Scholar 

  61. Crazzolara, F., & Winskel, G. (2001). Petri nets in cryptographic protocols. In IPDPS (p. 149). IEEE Computer Society.

  62. Dahl, V., & Niemelä, I. (Eds.) (2007). Logic Programming, 23rd International Conference, ICLP 2007, Porto, Portugal, September 8–13, 2007, Proceedings, LNCS (vol. 4670). Springer.

  63. Demoen, B., & Lifschitz, V. (Eds.) (2004). Logic Programming, 20th International Conference, ICLP 2004, Saint-Malo, France, September 6–10, 2004, Proceedings, LNCS (vol. 3132). Springer.

  64. Dezani-Ciancaglini, M., & de’Liguoro, U. (2009). Sessions and session types: An overview. In Laneve, C., & Su, J. (Eds.) WS-FM, LNCS (vol. 6194, pp. 1–28). Springer.

  65. Díaz, J.F., Gutierrez, G., Olarte, C.A., Rueda, C. (2004). Using constraint programming for reconfiguration of electrical power distribution networks. In Roy, P.V. (Ed.) MOZ, LNCS (vol. 3389, pp. 263–276). Springer.

  66. Díaz, J.F., Rueda, C., Valencia, F.D. (1998). Pi+ − calculus: A calculus for concurrent processes with constraints. CLEI Electronic Journal, 1(2).

  67. Dolev, D., & Yao, A.C.C. (1983). On the security of public key protocols. IEEE Transactions on Information Theory, 29(2), 198–207.

    Article  MathSciNet  MATH  Google Scholar 

  68. Dovier, A., & Pontelli, E. (Eds.) (2010). A 25-Year Perspective on Logic Programming: Achievements of the Italian Association for Logic Programming, GULP, LNCS (vol. 6125). Springer.

  69. Dubois, D., Fargier, H., Prade, H. (1993). The calculus of fuzzy restrictions as a basis for flexible constraint satisfaction. In Proc. 2nd IEEE Conference on Fuzzy Systems (vol. 2, pp. 1131–1136). San Francisco, CA.

  70. Duck, G.J., Stuckey, P.J., de la Banda, M.J.G., Holzbaur, C. (2004). The refined operational semantics of constraint handling rules. In Demoen, B., & Lifschitz, V. (Eds.) Logic Programming, 20th International Conference, ICLP 2004, Saint-Malo, France, September 6–10, 2004, Proceedings, LNCS (vol. 3132, pp. 90–104). Springer.

  71. Duck, G.J., Stuckey, P.J., Sulzmann, M. (2007). Observable confluence for constraint handling rules. In Dahl, V., & Niemelä, I. (Eds.) Logic Programming, 23rd International Conference, ICLP 2007, Porto, Portugal, September 8–13, 2007, Proceedings, LNCS (vol. 4670, pp. 224–239). Springer.

  72. Dücker, M., Lehrenfeld, G., Müller, W., Tahedl, C. (1997). A generic system for interactive real-time animation. In ECBS (pp. 263–270). IEEE Computer Society.

  73. Etalle, S., Gabbrielli, M., Meo, M.C. (2001). Transformations of CCP programs. ACM Transactions on Programming Languages and Systems, 23(3), 304–395.

    Google Scholar 

  74. Eveillard, D., Ropers, D., de Jong, H., Branlant, C., Bockmayr, A. (2004). A multi-scale constraint programming model of alternative splicing regulation. Theoretical Computer Science, 325(1), 3–24.

    Article  MathSciNet  MATH  Google Scholar 

  75. Fages, F., Batt, G., Maria, E.D., Jovanovska, D., Rizk, A., Soliman, S. (2010). Computational systems biology in biocham. ERCIM News, 2010(82), 36.

  76. Fages, F., de Oliveira Rodrigues, C.M., Martinez, T. (2008). Modular CHR with ask and tell. In Proc. of Fifth Workshop on Constraint Handling Rules.

  77. Fages, F., Ruet, P., Soliman, S. (2001). Linear concurrent constraint programming: Operational and phase semantics. Information and Computation, 165(1), 14–41.

    Article  MathSciNet  MATH  Google Scholar 

  78. Fages, F., Soliman, S., Vianu, V. (1998). Expressiveness and complexity of concurrent constraint programming: a finite model theoretic approach. Technical Report 98–14, LIENS.

  79. Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C. (1993). Compositional analysis for concurrent constraint programming. In LICS (pp. 210–221). IEEE Computer Society.

  80. Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C. (1997). Confluence in concurrent constraint programming. Theoretical Computer Science, 183(2), 281–315.

    Article  MathSciNet  MATH  Google Scholar 

  81. Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C. (1997). Constraint logic programming with dynamic scheduling: A semantics based on closure operators. Information and Computation, 137(1), 41–67.

    Article  MathSciNet  MATH  Google Scholar 

  82. Falaschi, M., Olarte, C., Palamidessi, C. (2009). A framework for abstract interpretation of timed concurrent constraint programs. In Porto, A., & López-Fraguas, F.J. (Eds.) PPDP (pp. 207–218). ACM.

  83. Falaschi, M., Olarte, C., Palamidessi, C., Valencia, F. (2007). Declarative diagnosis of temporal concurrent constraint programs. In Dahl, V., & Niemelä, I. (Eds.) Logic Programming, 23rd International Conference, ICLP 2007, Porto, Portugal, September 8–13, 2007, Proceedings, LNCS (vol. 4670, pp. 271–285). Springer.

  84. Falaschi, M., Policriti, A., Villanueva, A. (2001). Modeling concurrent systems specified in a temporal concurrent constraint language-i. ENTCS, 48, 197–210.

    Google Scholar 

  85. Falaschi, M., & Villanueva, A. (2006). Automatic verification of timed concurrent constraint programs. TPLP 6(3), 265–300.

    MathSciNet  MATH  Google Scholar 

  86. Fournet, C., & Abadi, M. (2002). Hiding names: Private authentication in the applied pi calculus. In Okada, M., Pierce, B.C., Scedrov, A., Tokuda, H., Yonezawa, A. (Eds.) ISSS, LNCS (vol. 2609, pp. 317–338). Springer.

  87. Franzén, T., Haridi, S., Janson, S. (1991). An overview of the andorra kernel language. In Eriksson, L.H., Hallnäs, L., Schroeder-Heister, P. (Eds.) ELP, LNCS (vol. 596, pp. 163–179). Springer.

  88. Frühwirth, T., Michel, L., Schulte, C. (2006). Chapter 13 - constraints in procedural and concurrent languages. In Rossi, F., van Beek, P., Walsh, T. (Eds.) Handbook of Constraint Programming, Foundations of Artificial Intelligence (vol. 2, pp. 453–494). Elsevier.

  89. Frühwirth, T.W. (1994). Constraint handling rules. In Constraint Programming (pp. 90–107).

  90. Frühwirth, T.W. (1998). Theory and practice of constraint handling rules. Journal of Logic Programming, 37(1–3), 95–138.

    Google Scholar 

  91. Frühwirth, T.W. (2009). Constraint Handling Rules. Cambridge University Press.

  92. Frühwirth, T.W., Pierro, A.D., Wiklicky, H. (2002). Probabilistic constraint handling rules. ENTCS, 76, 115–130.

    Google Scholar 

  93. Furukawa, K., & Ueda, K. (1988). Ghc - a language for a new age of parallel programming. In Nori, K.V., & Kumar, S. (Eds.) FSTTCS, Lecture Notes in Computer Science (vol. 338, pp. 364–376). Springer.

  94. Gabbrielli, M., & Levi, G. (1990). Unfolding and fixpoint semantics of concurrent constraint logic programs. In Kirchner, H., & Wechler, W. (Eds.) ALP, LNCS (vol. 463, pp. 204–216). Springer.

  95. Gabbrielli, M., Palamidessi, C., Valencia, F.D. (2010). Concurrent and reactive constraint programming. In Dovier, A., & Pontelli, E. (Eds.) A 25-Year Perspective on Logic Programming: Achievements of the Italian Association for Logic Programming, GULP, LNCS (vol. 6125, pp. 231–253). Springer.

  96. Gilbert, D., & Palamidessi, C. (2000). Concurrent constraint programming with process mobility. In Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.K., Palamidessi, C., Pereira, L.M., Sagiv, Y., Stuckey, P.J. (Eds.) Computational Logic, LNCS (vol. 1861, pp. 463–477). Springer.

  97. Girard, J.Y. (1987). Linear logic. Theoretical Computer Science, 50, 1–102.

    Article  MathSciNet  MATH  Google Scholar 

  98. Gupta, V., Jagadeesan, R., Panangaden, P. (1999). Stochastic processes as concurrent constraint programs. In Appel, A.W., & Aiken, A. (Eds.) POPL (pp. 189–202). ACM.

  99. Gupta, V., Jagadeesan, R., Saraswat, V.A. (1996). Models for concurrent constraint programming. In Montanari, U., & Sassone, V. (Eds.) CONCUR, LNCS (vol. 1119, pp. 66–83). Springer.

  100. Gupta, V., Jagadeesan, R., Saraswat, V.A. (1997). Probabilistic concurrent constraint programming. In Mazurkiewicz, A.W., & Winkowski, J. (Eds.) CONCUR, LNCS (vol. 1243, pp. 243–257). Springer.

  101. Gupta, V., Jagadeesan, R., Saraswat, V.A. (1998). Computing with continuous change. Science of Computer Programming, 30(1–2), 3–49.

    Google Scholar 

  102. Gupta, V., Jagadeesan, R., Saraswat, V.A. (2002). Truly concurrent constraint programming. Theoretical Computer Science, 278(1–2), 223–255.

    Google Scholar 

  103. Gupta, V., Saraswat, V., Struss, P. (1995). A model of a photocopier paper path. In Proceedings of the 2nd IJCAI Workshop on Engineering Problems for Qualitative Reasoning.

  104. Gutierrez, J., Pérez, J.A., Rueda, C., Valencia, F.D. (2007). Timed concurrent constraint programming for analysing biological systems. ENTCS, 171(2), 117–137.

    Google Scholar 

  105. Haemmerlé, R. (2011). Observational equivalences for linear logic concurrent constraint languages. TPLP, 11(4–5), 469–485.

    Google Scholar 

  106. Haemmerlé, R., Fages, F., Soliman, S. (2007). Closures and modules within linear logic concurrent constraint programming. In Arvind, V., & Prasad, S., (Eds.) FSTTCS, LNCS (vol. 4855, pp. 544–556). Springer.

  107. Halbwachs, N. (1998). Synchronous programming of reactive systems. In Hu, A.J., & Vardi, M.Y. (Eds.) CAV, LNCS (vol. 1427, pp. 1–16). Springer.

  108. Hankin, C. (Ed.) (1998). Programming Languages and Systems - ESOP’98, LNCS (vol. 1381). Springer.

  109. Haridi, S., Janson, S., Montelius, J., Franzén, T., Brand, P., Boortz, K., Danielsson, B., Carlson, B., Keisu, T., Sahlin, D., Sjöland, T. (1993). Concurrent constraint programming at sics with the andorra kernel language (extended abstract). In PPCP (pp. 107–116).

  110. Henkin, L., J.D., M., Tarski, A. (1971). Cylindric Algebras, Part I. North-Holland.

  111. Hentenryck, P.V., Saraswat, V.A., Deville, Y. (1998). Design, implementation, and evaluation of the constraint language cc(FD). Journal of Logic Programming, 37(1–3), 139–164.

    Google Scholar 

  112. Hermith, D., Olarte, C., Rueda, C., Valencia, F.D. (2011). Modeling cellular signaling systems: An abstraction-refinement approach. In Rocha, M.P., Rodríguez, J.M.C., Fdez-Riverola, F., Valencia, A. (Eds.) PACBB, Advances in Intelligent and Soft Computing (vol. 93, pp. 321–328). Springer.

  113. Hildebrandt, T., & López, H.A. (2009). Types for secure pattern matching with local knowledge in universal concurrent constraint programming. In Hill, P.M., & Warren, D.S. (Eds.) Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14–17, 2009. Proceedings, LNCS (vol. 5649, pp. 417–431). Springer.

  114. Hill, P.M., & Warren, D.S. (Eds.) (2009). Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14–17, 2009. Proceedings, LNCS (vol. 5649). Springer.

  115. Honda, K., Vasconcelos, V.T., Kubo, M. (1998). Language primitives and type discipline for structured communication-based programming. In Hankin, C. (Ed.) Programming Languages and Systems - ESOP’98, LNCS (vol. 1381, pp. 122–138). Springer.

  116. Jaffar, J., & Lassez, J.L. (1987). Constraint logic programming. In POPL (pp. 111–119). ACM Press.

  117. Jaffar, J., & Maher, M.J. (1994). Constraint logic programming: A survey. Journal of Logic Programming, 19 & 20, 503–581.

  118. Jagadeesan, R., Marrero, W., Pitcher, C., Saraswat, V.A. (2005). Timed constraint programming: a declarative approach to usage control. In Barahona, P., & Felty, A.P. (Eds.) Proceedings of the 7th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, July 11–13 2005, Lisbon, Portugal (pp. 164–175). ACM.

  119. Jagadeesan, R., Saraswat, V., Shanbhogue, V. (1991). Angelic non-determinism in concurrent constraint programming. Technical Report, Xerox Parc.

  120. Jouannaud, J.P. (Ed.) (1994). Constraints in Computational Logics, First International Conference, CCL’94, Munich, Germant, September 7–9, 1994, LNCS (vol. 845). Springer.

  121. Kahn, K.M., & Saraswat, V.A. (1990). Actors as a special case of concurrent constraint programming. In Yonezawa, A. (Ed.) OOPSLA/ECOOP (pp. 57–66). ACM.

  122. Kahn, K.M., & Saraswat, V.A. (1990). Complete visualization of concurrent programs and their executions. In LPE (pp. 30–34).

  123. de Kergommeaux, J.C., & Codognet, P. (1994). Parallel logic programming systems. ACM Computing Surveys, 26(3), 295–336.

    Article  Google Scholar 

  124. Knight, S., Palamidessi, C., Panangaden, P., Valencia, F.D. (2012). Spatial and epistemic modalities in constraint-based process calculi. In Koutny, M., & Ulidowski, I. (Eds.) CONCUR, LNCS (vol. 7454, pp. 317–332). Springer.

  125. Koninck, L.D., Schrijvers, T., Demoen, B. (2007). User-definable rule priorities for chr. In Leuschel, M., & Podelski, A. (Eds.) PPDP (pp. 25–36). ACM.

  126. Kwiatkowska, M.Z. (1992). Infinite behaviour and fairness in concurrent constraint programming. In de Bakker, J.W., de Roever, W.P., Rozenberg, G. (Eds.) REX Workshop, LNCS (vol. 666, pp. 348–383). Springer.

  127. Laneve, C., & Montanari, U. (1992). Mobility in the cc-paradigm. In Havel, I.M., & Koubek, V. (Eds.) MFCS, LNCS (vol. 629, pp. 336–345). Springer.

  128. Lehmann, D.J. (1976). Categories for fixpoint-semantics. In FOCS (pp. 122–126). IEEE Computer Society.

  129. Lescaylle, A., & Villanueva, A. (2007). Using tccp for the Specification and Verification of Communication Protocols. In Proc. of WFLP 07.

  130. Lescaylle, A., & Villanueva, A. (2009). The tccp interpreter. ENTCS, 258(1), 63–77.

    Google Scholar 

  131. Lescaylle, A., & Villanueva, A. (2009). A tool for generating a symbolic representation of tccp executions. ENTCS, 246, 131–145.

    Google Scholar 

  132. Lescaylle, A., & Villanueva, A. (2010). Bridging the gap between two concurrent constraint languages. In Mari no, J. (Ed.) WFLP, LNCS (vol. 6559, pp. 155–173). Springer.

  133. López, H.A., Olarte, C., Pérez, J.A. (2009). Towards a unified framework for declarative structured communications. In Beresford, A.R., & Gay, S.J. (Eds.) PLACES, EPTCS (vol. 17, pp. 1–15).

  134. Maher, M.J. (1987). Logic semantics for a class of committed-choice programs. In ICLP (pp. 858–876).

  135. Manna, Z., & Pnueli, A. (1991). The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag.

  136. Marriott, K., & Odersky, M. (1997). A confluent calculus for concurrent constraint programming. Theoretical Computer Science, 173(1), 209–233.

    Article  MathSciNet  MATH  Google Scholar 

  137. Martinez, T. (2010). Semantics-preserving translations between linear concurrent constraint programming and constraint handling rules. In Kutsia, T., Schreiner, W., Fernández, M. (Eds.) PPDP (pp. 57–66). ACM.

  138. Mendler, N.P., Panangaden, P., Scott, P.J., Seely, R.A.G. (1995). A logical view of concurrent constraint programming. Nordic Journal of Computing, 2(2), 181–220.

    MathSciNet  MATH  Google Scholar 

  139. Milner, R. (1992). A finite delay operator in synchronous CCS. Technical Report CSR-116-82, University of Edinburgh.

  140. Milner, R., Parrow, J., Walker, D. (1992). A calculus of mobile processes, Parts I and II. Information and Computation, 100(1), 1–40.

    Article  MathSciNet  MATH  Google Scholar 

  141. Monfroy, E., Olarte, C., Rueda, C. (2007). Process calculi for adaptive enumeration strategies in constraint programming. Research in Computer Science.

  142. Montanari, U. (1974). Networks of constraints: Fundamental properties and applications to picture processing. Information Science, 7, 95–132.

    Article  MathSciNet  MATH  Google Scholar 

  143. Montanari, U., & Rossi, F. (1991). True concurrency in concurrent constraint programming. In ISLP (pp. 694–713).

  144. Montanari, U., & Rossi, F. (1993). Contextual occurence nets and concurrent constraint programming. In Schneider, H.J., & Ehrig, H. (Eds.) Dagstuhl Seminar on Graph Transformations in Computer Science, LNCS (vol. 776, pp. 280–295). Springer.

  145. Montanari, U., & Rossi, F. (1995). A concurrenct semantics for concurrent constraint programming via contextual nets. In Saraswat, V., & Hentenryck, P.V. (Eds.) Principles and Practice of Constraint Programming (pp. 3–27). MIT Press.

  146. Montanari, U., & Rossi, F. (1995). Contextual nets. Acta Informatica, 32(6), 545–596.

    MathSciNet  MATH  Google Scholar 

  147. Montanari, U., Rossi, F., Bueno, F., de la Banda, M.J.G., Hermenegildo, M.V. (1994). Towards a concurrent semantics based analysis of cc and clp. In Borning, A. (Ed.) Principles and Practice of Constraint Programming, Second International Workshop, PPCP’94, Rosario, Orcas Island, Washington, USA, May 2–4, 1994, Proceedings, LNCS (vol. 874, pp. 151–161). Springer.

  148. Montanari, U., Rossi, F., Saraswat, V.A. (1994). Cc programs with both in- and non-determinism: A concurrent semantics. In Borning, A. (Ed.) Principles and Practice of Constraint Programming, Second International Workshop, PPCP’94, Rosario, Orcas Island, Washington, USA, May 2–4, 1994, Proceedings, LNCS (vol. 874, pp. 162–172). Springer.

  149. Müller, T., & Müller, M. (1997). Finite set intervals in Oz. In WLP (pp. 17–19).

  150. Needham, R.M., & Schroeder, M.D. (1978). Using encryption for authentication in large networks of computers. Communications of the ACM, 21(12), 993–999.

    Article  MATH  Google Scholar 

  151. Niehren, J., & Smolka, G. (1994). A confluent relational calculus for higher-order programming with constraints. In Jouannaud, J.P. (Ed.) Constraints in Computational Logics, First International Conference, CCL’94, Munich, Germant, September 7–9, 1994, LNCS (vol. 845, pp. 89–104). Springer.

  152. Nielsen, M., Palamidessi, C., Valencia, F.D. (2002). On the expressive power of temporal concurrent constraint programming languages. In PPDP (pp. 156–167). ACM.

  153. Nielsen, M., Palamidessi, C., Valencia, F.D. (2002). Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing, 9(1), 145–188.

    MathSciNet  MATH  Google Scholar 

  154. Nyström, S.O., & Jonsson, B. (1993). Indeterminate concurrent constraint programming: A fixpoint semantics for non-terminating computations. In ILPS (pp. 335–352).

  155. Olarte, C., Pimentel, E., Rueda, C., Cata no, N. (2012). A linear concurrent constraint approach for the automatic verification of access permissions. In Schreye, D.D., Janssens, G., King, A. (Eds.) PPDP (pp. 207–216). ACM.

  156. Olarte, C., & Rueda, C. (2009). A declarative language for dynamic multimedia interaction systems. In Chew, E., Childs, A., Chuan, C.H. (Eds.) Mathematics and Computation in Music, Communications in Computer and Information Science (vol. 38, pp. 218–227). Springer Berlin Heidelberg.

  157. Olarte, C., & Valencia, F.D. (2008). The expressivity of universal timed ccp: undecidability of monadic fltl and closure operators for security. In Antoy, S., & Albert, E. (Eds.) PPDP (pp. 8–19). ACM.

  158. Olarte, C., & Valencia, F.D. (2008). Universal concurrent constraint programing: symbolic semantics and applications to security. In Wainwright, R.L., & Haddad, H. (Eds.) SAC (pp. 145–150). ACM.

  159. Ossowski, S., & Lecca, P. (Eds.) (2012). Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, March 26–30, 2012. ACM.

  160. Palù, A.D., Dovier, A., Fogolari, F. (2004). Protein folding simulation in ccp. In Demoen, B., & Lifschitz, V. (Eds.) Logic Programming, 20th International Conference, ICLP 2004, Saint-Malo, France, September 6–10, 2004, Proceedings, LNCS (vol. 3132, pp. 452–453). Springer.

  161. Pérez, J.A., & Rueda, C. (2008). Non-determinism and probabilities in timed concurrent constraint programming. In de la Banda, M.G., & Pontelli, E. (Eds.) Logic Programming, 24th Int. Conference, ICLP 2008, Udine, Italy, December 9–13 2008, Proceedings, LNCS (vol. 5366, pp. 677–681). Springer.

  162. Petri, C.A. (1962). Fundamentals of a theory of asynchronous information flow. In IFIP Congress (pp. 386–390).

  163. Pettorossi, A., & Proietti, M. (1994). Transformation of logic programs: Foundations and techniques. Journal of Logic Programming, 19/20, 261–320.

    Google Scholar 

  164. Pierro, A.D., & Wiklicky, H. (1998). A banach space based semantics for probabilistic concurrent constraint programming. In Lin, X. (Ed.) CATS, Australian Computer Science Communications (vol. 20, pp. 245–260). Springer-Verlag Singapore Pte. Ltd.

  165. Pierro, A.D., & Wiklicky, H. (1998). Probabilistic concurrent constraint programming: Towards a fully abstract model. In Brim, L., Gruska, J., Zlatuska, J. (Eds.) MFCS, LNCS (vol. 1450, pp. 446–455). Springer.

  166. Pierro, A.D., & Wiklicky, H. (2000). Concurrent constraint programming: towards probabilistic abstract interpretation. In PPDP (pp. 127–138). ACM.

  167. del Pilar Mu noz, M., & Hurtado, A.R. (2004). Programming robotic devices with a timed concurrent constraint language. In Wallace, M. (Ed.) CP, LNCS (vol. 3258, p. 803). Springer.

  168. Pilozzi, P., & Schreye, D.D. (2011). Improved termination analysis of chr using self-sustainability analysis. In Vidal, G. (Ed.) LOPSTR, LNCS (vol. 7225, pp. 189–204). Springer.

  169. Puckette, M., Apel, T., Zicarelli, D. (1998). Real-time audio analysis tools for Pd and MSP. In Proceedings, International Computer Music Conference (pp. 109–112).

  170. Reisig, W. (1985). Petri Nets: An Introduction, Monographs in Theoretical Computer Science. An EATCS Series, (vol. 4). Springer.

  171. Reiter, R. (1980). A logic for default reasoning. Artificial Intelligence, 13(1–2), 81–132.

    Google Scholar 

  172. Réty, J.H. (1998). Distributed concurrent constraint programming. Fundamenta Informaticae, 34(3), 323–346.

    MathSciNet  MATH  Google Scholar 

  173. Roy, P.V., & Haridi, S. (2004). Concepts, Techniques, and Models of Computer Programming. MIT Press.

  174. Rueda, C., Alvarez, G., Quesada, L., Tamura, G., Valencia, F.D., Díaz, J.F., Assayag, G. (2001). Integrating constraints and concurrent objects in musical applications: A calculus and its visual language. Constraints, 6(1), 21–52.

    Article  MathSciNet  MATH  Google Scholar 

  175. Rueda, C., & Valencia, F. (2004). On validity in modelization of musical problems by CCP. Soft Computing, 8(9), 641–648.

    Article  MATH  Google Scholar 

  176. Rueda, C., & Valencia, F.D. (2005). A temporal concurrent constraint calculus as an audio processing framework. In Sound and Music Computing conference.

  177. Sangiorgi, D. (2012). Introduction to Bisimulation and Coinduction. Cambridge Universtity Press.

  178. Saraswat, V. (2004). Euler: an applied lcc language for graph rewriting. Technical Report, IBM TJ Watson Research Center.

  179. Saraswat, V., & Lincoln, P. (1992). Higher-order Linear Concurrent Constraint Programming. Technical Report, Xerox Parc.

  180. Saraswat, V.A. (1992). The category of constraint systems is cartesian-closed. In LICS (pp. 341–345). IEEE Computer Society.

  181. Saraswat, V.A. (1993). Concurrent Constraint Programming. MIT Press.

  182. Saraswat, V.A., Jagadeesan, R., Gupta, V. (1994). Foundations of timed concurrent constraint programming. In LICS (pp. 71–80). IEEE Computer Society.

  183. Saraswat, V.A., Jagadeesan, R., Gupta, V. (1996). Timed default concurrent constraint programming. Journal of Symbolic Computation, 22(5 & 6), 475–520.

    Google Scholar 

  184. Saraswat, V.A., Jagadeesan, R., Gupta, V. (2003). jcc: Integrating timed default concurrent constraint programming into java. In Moura-Pires, F., & Abreu, S. (Eds.) EPIA, LNCS (vol. 2902, pp. 156–170). Springer.

  185. Saraswat, V.A., Kahn, K.M., Levy, J. (1990). Janus: A step towards distributed constraint programming. In NACLP (pp. 431–446).

  186. Saraswat, V.A., & Rinard, M.C. (1990). Concurrent constraint programming. In Allen, F.E. (Ed.) POPL (pp. 232–245). ACM Press.

  187. Saraswat, V.A., Rinard, M.C., Panangaden, P. (1991). Semantic foundations of concurrent constraint programming. In Wise, D.S. (Ed.) POPL (pp. 333–352). ACM Press.

  188. Sarna-Starosta, B., & Ramakrishnan, C.R. (2007). Compiling constraint handling rules for efficient tabled evaluation. In Hanus, M. (Ed.) PADL, LNCS (vol. 4354, pp. 170–184). Springer.

  189. Sarria, G. (2011). Real-time concurrent constraint calculus: The complete operational semantics. Engineering Letters, 19(1), 38–45.

    Google Scholar 

  190. Sato, T. (2008). A glimpse of symbolic-statistical modeling by prism. Journal of Intelligent Information Systems, 31(2), 161–176.

    Article  Google Scholar 

  191. Schächter, V. (1998). Linear concurrent constraint programming over reals. In Maher, M.J., & Puget, J.F. (Eds.) CP, LNCS (vol. 1520, pp. 400–416). Springer.

  192. Schrijvers, T., Stuckey, P.J., Duck, G.J. (2005). Abstract interpretation for constraint handling rules. In Barahona, P., & Felty, A.P. (Eds.) Proceedings of the 7th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, July 11–13 2005, Lisbon, Portugal (pp. 218–229). ACM.

  193. Scott, D.S. (1982). Domains for denotational semantics. In Nielsen, M., & Schmidt, E.M. (Eds.) ICALP, LNCS, (vol. 140, pp. 577–613). Springer.

  194. Shapiro, E. (1989). The family of concurrent logic programming languages. ACM Computing Surveys, 21(3), 413–510.

    Article  Google Scholar 

  195. Smolka, G. (1994). A foundation for higher-order concurrent constraint programming. In Jouannaud, J.P. (Ed.) Constraints in Computational Logics, First International Conference, CCL’94, Munich, Germant, September 7–9, 1994, LNCS (vol. 845, pp. 50–72). Springer.

  196. Smolka, G. (1995). The Oz programming model. In van Leeuwen, J. (Ed.) Computer Science Today, LNCS, (vol. 1000, pp. 324–343). Springer.

  197. Smolka, G. (1998). Concurrent constraint programming based on functional programming (extended abstract). In Hankin, C. (Ed.) Programming Languages and Systems - ESOP’98, LNCS (vol. 1381, pp. 1–11). Springer.

  198. Sneyers, J., Meert, W., Vennekens, J., Kameya, Y., Sato, T. (2010). Chr(prism)-based probabilistic logic learning. TPLP, 10(4–6), 433–447.

    Google Scholar 

  199. Sneyers, J., Weert, P.V., Schrijvers, T., Koninck, L.D. (2010). As time goes by: Constraint handling rules. TPLP, 10(1), 1–47.

  200. Stallman, R.M., & Sussman, G.J. (1977). Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. Artificial Intelligence, 9(2), 135–196.

    Google Scholar 

  201. Stork, S., Marques, P., Aldrich, J. (2009). Concurrency by default: using permissions to express dataflow in stateful programs. In Arora, S., & Leavens, G.T. (Eds.) OOPSLA Companion (pp. 933–940). ACM.

  202. Sussman, G.J., Jr., G.L.S. (1980). Constraints - a language for expressing almost-hierarchical descriptions. Artificial Intelligence, 14(1), 1–39.

  203. Takeuchi, K., Honda, K., Kubo, M. (1994). An interaction-based language and its typing system. In Halatsis, C., Maritsas, D.G., Philokyprou, G., Theodoridis, S. (Eds.) PARLE, LNCS, (vol. 817, pp. 398–413). Springer.

  204. Toro-Bermúdez, M., & Desainte-Catherine, M. (2010). Concurrent constraints conditional-branching timed interactive scores. In Sound and Music Computing Conference. Barcelona, Spain.

  205. Ueda, K., Kato, N., Hara, K., Mizuno, K. (2006). Lmntal as a unifying declarative language: Live demonstration. In Etalle, S., & Truszczynski, M. (Eds.) ICLP, LNCS (vol. 4079, pp. 457–458). Springer.

  206. Valencia, F.D. (2005). Decidability of infinite-state timed ccp processes and first-order ltl. Theoretical Computer Science, 330(3), 577–607.

    Article  MathSciNet  MATH  Google Scholar 

  207. Varejao, F.M., Fromherz, M.P., Garcia, A.C.B., de Souza, C.S. (1998). An integrated framework for the specification and design of reprographic machines. In Thirteenth Int. Conf. on Applications of Artificial Intelligence in Engineering. Computational Mechanics Publications.

  208. Victor, B., & Parrow, J. (1998). Concurrent constraints in the fusion calculus. In Larsen, K.G., Skyum, S., Winskel, G. (Eds.) ICALP, LNCS (vol. 1443, pp. 455–469). Springer.

  209. Wahls, T., Leavens, G.T., Baker, A.L. (2000). Executing formal specifications with concurrent constraint programming. Automated Software Engineering, 7(4), 315–343.

    Article  MATH  Google Scholar 

  210. Waltz, D.L. (2006). Gene freuder and the roots of constraint computation. Constraints, 11(2–3), 87–89.

    Google Scholar 

  211. Wischik, L., & Gardner, P. (2005). Explicit fusions. Theoretical Computer Science, 340(3), 606–630.

    Article  MathSciNet  MATH  Google Scholar 

  212. Wong, H.C., Fromherz, M., Gupta, V., Saraswat, V. (1995). Control-based programming of electro-mechanical controllers. In IJCAI Workshop on Executable Temporal Logics.

  213. Zaffanella, E., Giacobazzi, R., Levi, G. (1997). Abstracting synchronization in concurrent constraint programming. Journal of Functional and Logic Programming, 1997(6).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos Olarte.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Olarte, C., Rueda, C. & Valencia, F.D. Models and emerging trends of concurrent constraint programming. Constraints 18, 535–578 (2013). https://doi.org/10.1007/s10601-013-9145-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-013-9145-3

Keywords

Navigation