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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
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.
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.
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.
Corradini, A., H. Ehrig, M. Lowe, U. Montanari, and F. Rossi (1992). Standard representation of graphs and graph derivations. Technical report, TU Berlin.
de la Banda, M. G., M. Hermenegildo, and K. Marriott (1993). Independence in constraint logic programs. In Proc. International Logic Programming Symposium. MIT Press.
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.
Hermenegildo, M. and F. Rossi (1990). Non strict independent and-parallelism. In Proc. ICLP90. MIT Press.
Jaffar, J. and J. Lassez (1987). Constraint logic programming. In Proc. POPL. ACM.
Lloyd, J. W. (1987). Foundations of Logic Programming. Springer Verlag. MacLane, S. (1971). Categories for the Working Mathematician. Springer-Verlag.
Montanari, U. and F. Rossi (1991). True concurrency in concurrent constraint programming In Proc. ILPS91. MIT Press.
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.
Montanari, U. and F. Rossi (1993a). Contextual nets. Technical Report TR-4/93, CS Department, University of Pisa, Italy.
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.
Peled, D. and A. Pnueli (1990). Proving partial order liveness properties. In Proc. ICALP. LNCS 443, Springer-Verlag, pp. 553–571.
Plotkin, G. (1981). A structural approach to operational semantics. Technical Report TR DAIMI FN-19, Aarhus University, CS Department.
Reisig, W. (1985). Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science. Springer-Verlag.
Rossi, F. (1993). Constraints and Concurrency. Ph. D. thesis, University of Pisa, TD-14/93.
Saraswat, V. (1993). Concurrent Constraint Programming. MIT Press.
Saraswat, V. A. and M. Rinard (1990). Concurrent constraint programming In Proc. POPL. ACM.
Saraswat, V. A., M. Rinard, and P. Panangaden (1991). Semantic foundations of concurrent constraint programming. In Proc. POPL. ACM.
Scott, D. S. (1982). Domains for denotational semantics. In Proc. ICALP, LNCS 140. Springer-Verlag, pp. 325–392.
Shapiro, E. (1989). The family of concurrent logic programming languages. ACM Computing Surveys 21 (3).
Winskel, G. (1986). Event structures. In Petri nets: applications and relationships to other models of concurrency. LNCS 255, Springer-Verlag, pp. 325–392.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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