Confluence in concurrent constraint programming
We investigate the subset of concurrent constraint programs (ccp) which are confluent in the sense that different process schedulings lead to the same possible outcomes. Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. The subset of confluent programs is less expressive than full ccp. For example it cannot express fair merge although it can express demonic merge. We give a simple closure based denotational semantics for confluent ccp. We also study admissible programs which is a subset of confluent ccp closed under composition. We consider then applications of our results to give a framework for the efficient yet accurate analysis of full ccp. The basic idea is to approximate an arbitrary ccp program by an admissible program which is then analyzed.
Unable to display preview. Download preview PDF.
- 1.T. Armstrong, K. Marriott, P. Schachte and H. Søndergaard. Boolean functions for dependency analysis: Algebraic properties and efficient representation. Proc. Static Analysis Symposium, SAS'94. B. Le Charlier (Ed.), Springer-Verlag, Vol. 864 in LNCS, pages 266–280, 1994.Google Scholar
- 2.F.S. de Boer, M. Gabbrielli, E. Marchiori and C. Palamidessi. Proving Concurrent Constraint Programs Correct. In Proc. 21st ACM Symp. Principles of Programming Languages, 1994.Google Scholar
- 3.F.S. de Boer and C. Palamidessi. A Fully Abstract Model for Concurrent Constraint Programming. In S. Abramsky and T.S.E. Maibaum, editors, Proc. of TAPSOFT/CAAP, LNCS 493, pages 296–319. Springer-Verlag, 1991.Google Scholar
- 4.M. Codish, M. Falaschi, K. Marriott, and W. Winsborough. Efficient Analysis of Concurrent Constraint Logic Programs. In Proc. of ICALP, volume 700 of LNCS, pages 633–644. Springer-Verlag, Berlin, 1993.Google Scholar
- 5.M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Compositional Analysis for Concurrent Constraint Programming. In Proc. Eighth IEEE Symp. on Logic In Computer Science, pages 210–221. IEEE Computer Society Press, Los Alamitos, California, 1993.Google Scholar
- 6.P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. of POPL, pages 238–252, 1977.Google Scholar
- 7.L. Henkin, J.D. Monk, and A. Tarski. Cylindric Algebras (Part I). North-Holland, 1971.Google Scholar
- 8.K. Marriott and H. Søndergaard. Abstract Interpretation of Logic Programs: the Denotational Approach. In A. Bossi, editor, Proc. of the Italian Conf. on Logic Programming, pages 399–425, 1990.Google Scholar
- 9.P. Panangaden and V. Shanbhogue. The expressive power of indeterminate dataflow primitives. Information and Computation, 98(1):99–131, 1992.Google Scholar
- 10.V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, January 1989. In ACM distinguished dissertation series, The MIT Press, 1993.Google Scholar
- 11.V.A. Saraswat, M. Rinard, and P. Panangaden. Semantics foundations of Concurrent Constraint Programming. In Proc. of POPL, 1991.Google Scholar
- 12.E. Shapiro. A subset of Flat Concurrent Prolog and its interpreter. Technical Report TR-003, Institute for New Generation Computer Technology (ICOT), Tokyo, 1983.Google Scholar
- 13.E. Zaffanella, G. Levi and R. Giacobazzi. Abstracting synchronisation in concurrent constraint programming. Proc. Sixth Int'l Symp. on Programming Languages Implementation and Logic Programming. LNCS 844, pages 57–72. Springer-Verlag, 1994.Google Scholar