Abstract
We propose a new operator for Concurrent Constraint (cc) programming, called guarded constructive disjunction, in order to avoid indeterminism, aka demonic non-determinism, aka don't care non-deter minism. This operator is deterministic, avoiding thus confluence problems, and extends constructive disjunction by guarding each alternative branch. Our framework is based on a denotational semantics of concurrent constraint languages, where each agent, including the guarded constructive disjunction operator, is seen as a closure operator over the lattice defined by the constraint system. We investigate the interest of this semantics for program analysis in the abstract interpretation paradigm, thanks to the notion of abstraction between constraint systems. We illustrate with some programming examples how suspension analysis can be performed within this framework.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. Carlson, S. Haridi and S. Janson. AKL(FD): finite domain constraints in AKL. In International Logic Programming Symposium, Ithaca, USA, MIT Press 1994.
M. Codish, M. Falaschi and K. Marriott. Suspension Analyses for Concurrent Logic Programs. In proc. ICLP 91, Paris, France, MIT Press 1991.
M. Codish, M. Falaschi, K. Marriott and W. Winsborough. Efficient Analysis of Concurrent Constraint Logic Programs. In proc. ICALP 93, Springer Verlag 1993.
C. Codognet and P. Codognet. A generalized semantics for concurrent constraint languages and their abstract interpretation. In: Constraint Processing, M. Meyer (Ed.), LNCS 923, Springer Verlag, 1995.
C. Codognet and P. Codognet. Abduction and Concurrent Logic Languages. In: proceedings of ECAI'94, European Conference on Artificial Intelligence, Amsterdam, Netherlands, August 1994.
C. Codognet, P. Codognet and M-M. Corsini. Abstract Interpretation for Concurrent Logic Languages. In proc. North American Conference on Logic Programming, Austin, Texas, MIT Press 1990.
P. Codognet and G. Filé. Computation, abstractions and Constraints in Logic Programs. In proc. IEEE International Conference on Computer Languages, IEEE Press 1992.
A. Cortesi, G. Filé and W. Winsborough. Prop revisited: propositional formulas as abstract domain for groundness analysis. In proc. LICS 91, IEEE symposium on Logic In Computer Science, Amsterdam, IEEE Press 1991.
P. Cousot and R. Cousot. Abstract Interpretation and Application to Logic Programs. Journal of Logic Programming 13(2), 1992.
D. Diaz and P. Codognet. A minimal extension of the WAM for clp(FD). In proc. ICLP'93, 10th International Conference on Logic Programming, Budapest, Hungary, MIT Press 1993.
E. W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 21 (11), 1975.
M. Falaschi, M. Gabbrielli, K. Marriott and C. Palamidessi. Compositional Analysis for Concurrent Constraint Programming. In proc. LICS 93, IEEE Press 1993.
M. Falaschi, M. Gabbrielli, K. Marriott and C. Palamidessi. Confluence and CC programming. In proc. GULP+PRODE 94, Peniscola, Spain, 1994.
J. Jaffar and J-L. Lassez. Constraint Logic Programming. Research Report, University of Melbourne, June 1986. Short version in proc. 14th ACM conference on Principles Of Programming Languages, POPL'87, ACM Press 1987.
R. Jagadeesan, V. Saraswat and V. Shanbhogue. Angelic non-determinism in concurrent constraint programming. Technical Report, Xerox PARC, 1991.
J. Jourdan and T. Sola. The Versatility of Handling Disjunctions as Constraints. in proc. PLILP'93, Programming Language Implementation and Logic Programming, Lecture Notes in Computer Science, Springer Verlag.
B. Le Charlier, K. Musumbu and P. Van Hentenryck. A generic abstract interpretation algorithm and its complexity analysis. In 8th International Conference on Logic Programming, Paris, MIT Press 1991.
B. Le Charlier and P. Van Hentenryck. Reexecution in Abstract Interpretation of Prolog. In proc. Joint International Conference and Symposium on Logic Programming, Washington, MIT Press 1992.
T. Le Provost and M. Wallace. Domain Independent Propagation. In proc. FGCS 92, Tokyo, Japan, ICOT Press 1992.
A. V. Mantsivoda. Disjunctive Constraints and Finite Domains. Technical Report 25-07/93, Irkutsk State University, CEI, 1993.
S. Morishita, M. Numao and S. Hirose. Symbolical construction of truth value domain for logic programs. In proceedings of the 4th International Conference on Logic Programming, Sidney, Australia, MIT Press 1987.
G. Plotkin. Domains. University of Edinburgh, 1983.
V. A. Saraswat. Concurrent Constraint Programming Languages. Research Report CMU-CS-89-108, Carnegie Mellon University, 1989. Revised version MIT Press 93.
V.A. Saraswat and M. Rinard. Concurrent Constraint Programming. In Proceedings of Seventeenth ACM Symposium on Principles of Programming Languages, San Francisco, CA, January 1990.
V.A. Saraswat, M. Rinard, and P. Panangaden. Semantic Foundations of Concurrent Constraint Programming. In Proceedings of Ninth ACM Symposium on Principles of Programming Languages, Orlando, FL, January 1991.
V. Saraswat. The Category of Constraint Systems is Cartesian-Closed. In proc. LICS'92, Logic In Computer Science, IEEE Press 1992.
T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoritical Computer Science, vol. 34:227–240, 1984.
D. S. Scott Domains for denotational semantics. In proc. ICALP'82, International Colloquium on Automata, Languages and Programming, Springer Verlag 1982.
P. Struss and O. Dressler. Physical negation — integrating fault models into the General Diagnostic Engine. In proceedings of IJCAI 89, Detroit, 1989.
P. Van Hentenryck, V. Saraswat and Y. Deville. Constraint processing in cc(FD). Research Report, Brown University, 1991.
E. Zaffanella, G. Levi and R. Giacobazzi. Abstracting Synchronization in Concurrent Constraint Programming. In proceedings of PLILP 94, Madrid, LNCS 844, Springer Verlag 1994.
E. Zaffanella. Domain Independent Ask Approximation in CCP. This volume.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Codognet, C., Codognet, P. (1995). Guarded constructive disjunction: Angel or demon?. In: Montanari, U., Rossi, F. (eds) Principles and Practice of Constraint Programming — CP '95. CP 1995. Lecture Notes in Computer Science, vol 976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60299-2_21
Download citation
DOI: https://doi.org/10.1007/3-540-60299-2_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60299-6
Online ISBN: 978-3-540-44788-7
eBook Packages: Springer Book Archive