Skip to main content

Guarded constructive disjunction: Angel or demon?

  • Concurrent Constraint Programming
  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming — CP '95 (CP 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 976))

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. B. Carlson, S. Haridi and S. Janson. AKL(FD): finite domain constraints in AKL. In International Logic Programming Symposium, Ithaca, USA, MIT Press 1994.

    Google Scholar 

  2. M. Codish, M. Falaschi and K. Marriott. Suspension Analyses for Concurrent Logic Programs. In proc. ICLP 91, Paris, France, MIT Press 1991.

    Google Scholar 

  3. M. Codish, M. Falaschi, K. Marriott and W. Winsborough. Efficient Analysis of Concurrent Constraint Logic Programs. In proc. ICALP 93, Springer Verlag 1993.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. C. Codognet and P. Codognet. Abduction and Concurrent Logic Languages. In: proceedings of ECAI'94, European Conference on Artificial Intelligence, Amsterdam, Netherlands, August 1994.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. P. Codognet and G. Filé. Computation, abstractions and Constraints in Logic Programs. In proc. IEEE International Conference on Computer Languages, IEEE Press 1992.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. P. Cousot and R. Cousot. Abstract Interpretation and Application to Logic Programs. Journal of Logic Programming 13(2), 1992.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. E. W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 21 (11), 1975.

    Google Scholar 

  12. M. Falaschi, M. Gabbrielli, K. Marriott and C. Palamidessi. Compositional Analysis for Concurrent Constraint Programming. In proc. LICS 93, IEEE Press 1993.

    Google Scholar 

  13. M. Falaschi, M. Gabbrielli, K. Marriott and C. Palamidessi. Confluence and CC programming. In proc. GULP+PRODE 94, Peniscola, Spain, 1994.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. R. Jagadeesan, V. Saraswat and V. Shanbhogue. Angelic non-determinism in concurrent constraint programming. Technical Report, Xerox PARC, 1991.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. T. Le Provost and M. Wallace. Domain Independent Propagation. In proc. FGCS 92, Tokyo, Japan, ICOT Press 1992.

    Google Scholar 

  20. A. V. Mantsivoda. Disjunctive Constraints and Finite Domains. Technical Report 25-07/93, Irkutsk State University, CEI, 1993.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. G. Plotkin. Domains. University of Edinburgh, 1983.

    Google Scholar 

  23. V. A. Saraswat. Concurrent Constraint Programming Languages. Research Report CMU-CS-89-108, Carnegie Mellon University, 1989. Revised version MIT Press 93.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. V. Saraswat. The Category of Constraint Systems is Cartesian-Closed. In proc. LICS'92, Logic In Computer Science, IEEE Press 1992.

    Google Scholar 

  27. T. Sato and H. Tamaki. Enumeration of success patterns in logic programs. Theoritical Computer Science, vol. 34:227–240, 1984.

    Article  Google Scholar 

  28. D. S. Scott Domains for denotational semantics. In proc. ICALP'82, International Colloquium on Automata, Languages and Programming, Springer Verlag 1982.

    Google Scholar 

  29. P. Struss and O. Dressler. Physical negation — integrating fault models into the General Diagnostic Engine. In proceedings of IJCAI 89, Detroit, 1989.

    Google Scholar 

  30. P. Van Hentenryck, V. Saraswat and Y. Deville. Constraint processing in cc(FD). Research Report, Brown University, 1991.

    Google Scholar 

  31. E. Zaffanella, G. Levi and R. Giacobazzi. Abstracting Synchronization in Concurrent Constraint Programming. In proceedings of PLILP 94, Madrid, LNCS 844, Springer Verlag 1994.

    Google Scholar 

  32. E. Zaffanella. Domain Independent Ask Approximation in CCP. This volume.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ugo Montanari Francesca Rossi

Rights and permissions

Reprints 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

Publish with us

Policies and ethics