Skip to main content

Concurrent Semantics for Concurrent Constraint Programs

  • Conference paper
Constraint Programming

Part of the book series: NATO ASI Series ((NATO ASI F,volume 131))

Abstract

A concurrent semantics is a semantics where concurrency can be realistically represented and naturally described. Therefore we believe that every concurrent language should be provided with a formal concurrent semantics. Here we describe three concurrent semantics for concurrent constraint (cc) programs. They are all based on partial order structures relating the various objects involved in the program computations, so that objects not related by the partial order are concurrent, and those related are instead dependent on each other and thus need to be sequentialized. Furthermore, they all employ a distributed representation of the constraint system, so that several sources of useless sequentializations are avoided. The first one is based on a graph-rewriting description of the operational behaviour of cc programs, and consists of a partial order involving all objects of each (equivalence class of) computation(s). The second one uses a simpler notion of context-dependent rewriting for the operational semantics, and consists of an event structure, which is able to represent both the concurrency and the non-determinism present in a cc program but which relates only the computation steps, and not the objects. The last one, instead, consists of a contextual net (that is, a Petri net extended with context condiditions), which again represents both concurrency and nondeterminism and furthermore relates all objects and steps of the computations. The three semantics are compared and it is argued that the last one is the most suitable concurrent semantics for cc programs, since 1) contextual items are a general and elegant way of formalizing ask operations and avoiding their useless sequentialization, 2) nets allow a direct representation of concurrent information, as well as dependency and mutual exclusion (that is, nondeterminism). The information contained in any one of these semantics, possibly abstracted, can be of great help to a scheduler, in order to obtain an efficient execution of the program, or also to a compile-time optimizer.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Boer, F. D. de and C. Palamidessi (1991). A fully abstract model for concurrent constraint programming. In Proc. CAAP. LNCS 493, Springer-Verlag, pp. 296–319.

    Google Scholar 

  • Bueno, F., M. J. G. de la Banda, M. Hermenegildo, F. Rossi, and U. Montanari (1993). Towards true concurrency semantics based transformation between clp and cc. Technical Report TR CLP 2/93. 1, Universidad Politecnica de Madrid, Facultad de Informatica.

    Google Scholar 

  • Codognet, C., P. Codognet, and G. Filé (1988). Yet another intelligent backtracking method. In Proc. 5th International Conference and Symposium on Logic Programming. MIT Press.

    Google Scholar 

  • Corradini, A., H. Ehrig, M. Lowe, U. Montanari, and F. Rossi (1992). Standard representation of graphs and graph derivations. Technical report, TU Berlin.

    Google Scholar 

  • de la Banda, M. G., M. Hermenegildo, and K. Marriott (1993). Independence in constraint logic programs. In Proc. International Logic Programming Symposium. MIT Press.

    Google Scholar 

  • Ehrig, H. (1978). Introduction to the algebraic theory of graph grammars. In Proc. International Workshop on Graph Grammars. LNCS 73, Springer-Verlag, pp. 1–69.

    Google Scholar 

  • Hermenegildo, M. and F. Rossi (1990). Non strict independent and-parallelism. In Proc. ICLP90. MIT Press.

    Google Scholar 

  • Jaffar, J. and J. Lassez (1987). Constraint logic programming. In Proc. POPL. ACM.

    Google Scholar 

  • Lloyd, J. W. (1987). Foundations of Logic Programming. Springer Verlag. MacLane, S. (1971). Categories for the Working Mathematician. Springer-Verlag.

    Google Scholar 

  • Montanari, U. and F. Rossi (1991). True concurrency in concurrent constraint programming In Proc. ILPS91. MIT Press.

    Google Scholar 

  • Montanari, U. and F. Rossi (1992). Graph rewriting for a partial ordering semantics of concurrent constraint programming. Theoretical Computer Science. Special issue on graph grammars, Courcelle B. and Rozenberg eds.

    Google Scholar 

  • Montanari, U. and F. Rossi (1993a). Contextual nets. Technical Report TR-4/93, CS Department, University of Pisa, Italy.

    Google Scholar 

  • Montanari, U. and F. Rossi (1993b). Contextual occurrence nets and concurrent constraint programming. In Proc. Dagstuhl Seminar on Graph Transformations in Computer Science. LNCS 776, Springer-Verlag, pp. 280–295.

    Google Scholar 

  • Peled, D. and A. Pnueli (1990). Proving partial order liveness properties. In Proc. ICALP. LNCS 443, Springer-Verlag, pp. 553–571.

    Google Scholar 

  • Plotkin, G. (1981). A structural approach to operational semantics. Technical Report TR DAIMI FN-19, Aarhus University, CS Department.

    Google Scholar 

  • Reisig, W. (1985). Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science. Springer-Verlag.

    MATH  Google Scholar 

  • Rossi, F. (1993). Constraints and Concurrency. Ph. D. thesis, University of Pisa, TD-14/93.

    Google Scholar 

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

    Google Scholar 

  • Saraswat, V. A. and M. Rinard (1990). Concurrent constraint programming In Proc. POPL. ACM.

    Google Scholar 

  • Saraswat, V. A., M. Rinard, and P. Panangaden (1991). Semantic foundations of concurrent constraint programming. In Proc. POPL. ACM.

    Google Scholar 

  • Scott, D. S. (1982). Domains for denotational semantics. In Proc. ICALP, LNCS 140. Springer-Verlag, pp. 325–392.

    Google Scholar 

  • Shapiro, E. (1989). The family of concurrent logic programming languages. ACM Computing Surveys 21 (3).

    Google Scholar 

  • Winskel, G. (1986). Event structures. In Petri nets: applications and relationships to other models of concurrency. LNCS 255, Springer-Verlag, pp. 325–392.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rossi, F., Montanari, U. (1994). Concurrent Semantics for Concurrent Constraint Programs. In: Mayoh, B., Tyugu, E., Penjam, J. (eds) Constraint Programming. NATO ASI Series, vol 131. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-85983-0_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-85983-0_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-85985-4

  • Online ISBN: 978-3-642-85983-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics