Notes on Timed Concurrent Constraint Programming

  • Mogens Nielsen
  • Frank D. Valencia
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3098)


A constraint is a piece of (partial) information on the values of the variables of a system. Concurrent constraint programming (ccp) is a model of concurrency in which agents (also called processes) interact by telling and asking information (constraints) to and from a shared store (a constraint). Timed (or temporal) ccp (tccp) extends ccp by agents evolving over time. A distinguishing feature of tccp, is that it combines in one framework an operational and algebraic view from process algebra with a declarative view based upon temporal logic. Tccp has been widely used to specify, analyze and program reactive systems.

This note provides a comprehensive introduction to the background for and central notions from the theory of tccp. Furthermore, it surveys recent results on a particular tccp calculus, ntcc, and it provides a classification of the expressive power of various tccp languages.


Temporal Logic Proof System Expressive Power Constraint System Parallel Composition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M.: The power of temporal proofs. Theoretical Computer Science 65, 35–84 (1989)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)zbMATHCrossRefGoogle Scholar
  3. 3.
    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, Stanford (1962)Google Scholar
  4. 4.
    de Boer, F., Gabbrielli, M., Chiara, M.: A temporal logic for reasoning about timed concurrent constraint programs. In: TIME 2001. IEEE Press, Los Alamitos (2001)Google Scholar
  5. 5.
    de Boer, F., Gabbrielli, M., Meo, M.C.: A timed concurrent constraint language. Information and Computation 161, 45–83 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    de Boer, F., Di Pierro, A., Palamidessi, C.: Nondeterminism and infinite computations in constraint programming. Theoretical Computer Science 151(1), 37–78 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    de Boer, F.S., Gabbrielli, M., Marchiori, E., Palamidessi, C.: Proving concurrent constraint programs correct. ACM Transactions on Programming Languages and Systems 19(5) (1997)Google Scholar
  8. 8.
    Diaz, J.F., Rueda, C., Valencia, F.: A calculus for concurrent processes with constraints. CLEI Electronic Journal 1(2) (1998)Google Scholar
  9. 9.
    Dierks, H.: A process algebra for real-time programs. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 66–81. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Fernádez, D., Quintero, L.: VIN: An ntcc visual language for LEGO Robots. BSc Thesis, Universidad Javeriana-Cali, Colombia (2003),
  11. 11.
    Fredslund, J.: The assumption architecture. Progress Report, Department of Computer Science, University of Aarhus (1999)Google Scholar
  12. 12.
    Gilbert, D., Palamidessi, C.: Concurrent constraint programming with process mobility. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 463–477. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Gupta, V., Jagadeesan, R., Panangaden, P.: Stochastic processes as concurrent constraint programs. In: Symposium on Principles of Programming Languages, pp. 189–202 (1999)Google Scholar
  14. 14.
    Gupta, V., Jagadeesan, R., Saraswat, V.A.: Computing with continuous change. Science of Computer Programming 30(1-2), 3–49 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Halbwachs, N.: Synchronous programming of systems. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 1–16. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  16. 16.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language LUSTRE. Proc. of the IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
  17. 17.
    Haridi, S., Janson, S.: Kernel andorra prolog and its computational model. In: Proc. of the International Conference on Logic Programming, pp. 301–309. MIT Press, Cambridge (1990)Google Scholar
  18. 18.
    Van Hentenryck, P., Saraswat, V., Deville, Y.: Constraint processing in cc(fd). In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910. Springer, Heidelberg (1995)Google Scholar
  19. 19.
    Hoare, C.A.R.: Communications Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)Google Scholar
  20. 20.
    Hurtado, R., Muñoz, M.: LMAN: An ntcc Abstract Machine for LEGO Robots. BScThesis, Universidad Javeriana-Cali, Colombia (2003),
  21. 21.
    Lund, H.H., Pagliarini, L.: Robot soccer with LEGO mindstorms. In: Asada, M., Kitano, H. (eds.) RoboCup 1998. LNCS (LNAI), vol. 1604, pp. 141–151. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems, Specification. Springer, Heidelberg (1991)zbMATHGoogle Scholar
  23. 23.
    Maraninchi, F.: Operational and compositional semantics of synchronous automaton compositions. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 550–564. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  24. 24.
    Mendler, N.P., Panangaden, P., Scott, P.J., Seely, R.A.G.: A logical view of concurrent constraint programming. Nordic Journal of Computing 2(2), 181–220 (1995)zbMATHMathSciNetGoogle Scholar
  25. 25.
    Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall, Englewood Cliffs (1989); SU Fisher Research 511/24zbMATHGoogle Scholar
  26. 26.
    Milner, R.: A finite delay operator in synchronous ccs. Technical Report CSR-116-82, University of Edinburgh (1992)Google Scholar
  27. 27.
    Milner, R.: Communicating and Mobile Systems: the π-calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  28. 28.
    Montanari, U.: Networks of constraints: Fundamental properties and applications to picture processing. Information Science 7 (1974)Google Scholar
  29. 29.
    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
  30. 30.
    Nielsen, M., Palamidessi, C., Valencia, F.: Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing 9(2), 145–188 (2002)zbMATHMathSciNetGoogle Scholar
  31. 31.
    Nielsen, M., Valencia, F.: Temporal Concurrent Constraint Programming: Applications and Behavior. In: Brauer, W., Ehrig, H., Karhumäki, J., Salomaa, A. (eds.) Formal and Natural Computing. LNCS, vol. 2300, pp. 298–324. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  32. 32.
    Palamidessi, C., Valencia, F.: A temporal concurrent constraint programming calculus. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, p. 302. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  33. 33.
    Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: Proc. IFIP Congress 1962 (1962)Google Scholar
  34. 34.
    Post, E.L.: A variant of a recursively unsolvable problem. Bulletin of the American Mathematical Society 52, 264–268 (1946)zbMATHCrossRefMathSciNetGoogle Scholar
  35. 35.
    Reed, G.M., Roscoe, A.W.: A timed model for communication sequential processes. Theoretical Computer Science 8, 249–261 (1988)CrossRefMathSciNetGoogle Scholar
  36. 36.
    Rossi, F., Montanari, U.: Concurrent semantics for concurrent constraint programming. In: Constraint Programming: Proc. 1993 NATO ASI, pp. 181–220 (1994)Google Scholar
  37. 37.
    Réty, J.H.: Distributed concurrent constraint programming. Fundamenta Informaticae 34(3) (1998)Google Scholar
  38. 38.
    Rueda, C., Valencia, F.: Proving musical properties using a temporal concurrent constraint calculus. In: Proc. of the 28th International Computer Music Conference (ICMC 2002) (2002)Google Scholar
  39. 39.
    Saraswat, V.: Concurrent Constraint Programming. The MIT Press, Cambridge (1993)Google Scholar
  40. 40.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Foundations of timed concurrent constraint programming. In: Proc. of LICS 1994, pp. 71–80 (1994)Google Scholar
  41. 41.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Programming in timed concurrent constraint languages. In: Constraint Programming. NATO Advanced Science Institute Series, pp. 361–410. Springer, Heidelberg (1994)Google Scholar
  42. 42.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Default timed concurrent constraint programming. In: Proc. of POPL 1995, pp. 272–285 (1995)Google Scholar
  43. 43.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Timed default concurrent constraint programming. Journal of Symbolic Computation 22(5–6), 475–520 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  44. 44.
    Saraswat, V., Jagadeesan, R., Gupta, V.: jcc: Integrating timed default concurrent constraint programming into java (2003),
  45. 45.
    Saraswat, V., Rinard, M., Panangaden, P.: The semantic foundations of concurrent constraint programming. In: POPL 1991, pp. 333–352 (1991)Google Scholar
  46. 46.
    Shapiro, E.: The Family of Concurrent Logic Programming Languages. Computing Surveys 21(3), 413–510 (1990)CrossRefGoogle Scholar
  47. 47.
    Smolka, G.: A Foundation for Concurrent Constraint Programming. In: Jouannaud, J.-P. (ed.) CCL 1994. LNCS, vol. 845. Springer, Heidelberg (1994) (invited talk)CrossRefGoogle Scholar
  48. 48.
    Smolka, G.: The Oz programming model. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000, pp. 324–343. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  49. 49.
    Tini, S.: On the expressiveness of timed concurrent constraint programming. Electronics Notes in Theoretical Computer Science (1999)Google Scholar
  50. 50.
    Tini, S.: An axiomatic semantics for the synchronous language gentzen. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, p. 394. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  51. 51.
    Valencia, F.: Temporal Concurrent Constraint Programming. PhD thesis, BRICS, University of Aarhus (2003)Google Scholar
  52. 52.
    Valencia, F.: Timed concurrent constraint programming: Decidability results and their application to LTL. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 422–437. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  53. 53.
    Yi, W.: A Calculus for Real Time Systems. PhD thesis, Chalmers Institute of Technology, Sweden (1991)Google Scholar
  54. 54.
    Zuberek, W.M.: Timed petri nets and preliminary performance evaluation. In: Proc. of the 7th Annual Symposium on Computer Architecture, pp. 88–96. ACM and IEEE (1980)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Mogens Nielsen
    • 1
    • 2
  • Frank D. Valencia
    • 1
    • 2
  1. 1.BRICS University of AarhusDenmark
  2. 2.Dept. of Information TechnologyUppsala University 

Personalised recommendations