ABSTRACT
Concurrent Constraint Programming (ccp) is a well-established declarative framework from concurrency theory. Its foundations and principles e.g., semantics, proof systems, axiomatizations, have been thoroughly studied for over the last two decades. In contrast, the development of algorithms and automatic verification procedures for ccp have hitherto been far too little considered. To the best of our knowledge there is only one existing verification algorithm for the standard notion of ccp program (observational) equivalence. In this paper we first show that this verification algorithm has an exponential-time complexity even for programs from a representative sub-language of ccp; the summation-free fragment (ccp\+). We then significantly improve on the complexity of this algorithm by providing two alternative polynomial-time decision procedures for ccp\+ program equivalence. Each of these two procedures has an advantage over the other. One has a better time complexity. The other can be easily adapted for the full language of ccp to produce significant state space reductions. The relevance of both procedures derives from the importance of ccp\+. This fragment, which has been the subject of many theoretical studies, has strong ties to first-order logic and an elegant denotational semantics, and it can be used to model real-world situations. Its most distinctive feature is that of confluence, a property we exploit to obtain our polynomial procedures.
- L. Aceto, A. Ingolfsdottir, and J. Srba. Advanced Topics in Bisimulation and Coinduction, chapter The Algorithmics of Bisimilarity, pages 100--172. Cambridge University Press, 2011.Google Scholar
- R. M. Amadio, I. Castellani, and D. Sangiorgi. On bisimulations for the asynchronous pi-calculus. In CONCUR, volume 1119 of Lecture Notes in Computer Science, pages 147--162. Springer, 1996. Google ScholarDigital Library
- A. Aristizabal, F. Bonchi, C. Palamidessi, L. Pino, and F. D. Valencia. Deriving labels and bisimilarity for concurrent constraint programming. In FOSSACS, LNCS, pages 138--152. Springer, 2011. Google ScholarDigital Library
- A. Aristizabal, F. Bonchi, L. Pino, and F. D. Valencia. Partition refinement for bisimilarity in ccp. In SAC, pages 88--93. ACM, 2012. Google ScholarDigital Library
- A. Aristizábal, F. Bonchi, L. F. Pino, and F. Valencia. Reducing weak to strong bisimilarity in ccp. In ICE, pages 2--16, 2012.Google Scholar
- M. Bartoletti and R. Zunino. A calculus of contracting processes. In LICS, pages 332--341. IEEE Computer Society, 2010. Google ScholarDigital Library
- J. Bengtson, M. Johansson, J. Parrow, and B. Victor. Psi-calculi: Mobile processes, nominal data, and logic. In LICS, pages 39--48, 2009. Google ScholarDigital Library
- F. Bonchi, F. Gadducci, and G. V. Monreale. Reactive systems, barbed semantics, and the mobile ambients. In FOSSACS, LNCS, pages 272--287, 2009. Google ScholarDigital Library
- F. Bonchi, B. König, and U. Montanari. Saturated semantics for reactive systems. In LICS, pages 69--80. IEEE, 2006. Google ScholarDigital Library
- A. Bouali and R. de Simone. Symbolic bisimulation minimisation. In CAV, volume 663 of Lecture Notes in Computer Science, pages 96--108. Springer, 1992. Google ScholarDigital Library
- M. G. Buscemi and U. Montanari. Open bisimulation for the concurrent constraint pi-calculus. In ESOP, pages 254--268, 2008. Google ScholarDigital Library
- F. S. de Boer, A. D. Pierro, and C. Palamidessi. Nondeterminism and infinite computations in constraint programming. Theor. Comput. Sci., 151(1):37--78, 1995. Google ScholarDigital Library
- A. Dovier, C. Piazza, and A. Policriti. An efficient algorithm for computing bisimulation equivalence. Theor. Comput. Sci., 311(1-3):221--256, 2004. Google ScholarDigital Library
- J.-C. Fernandez and L. Mounier. Verifying bisimulations "on the fly". In FORTE, pages 95--110. North-Holland, 1990. Google ScholarDigital Library
- H. Garavel. Reflections on the future of concurrency theory in general and process calculi in particular. In Proc. of LIX Colloquium on Emergent Trends in Concurrency Theory, Electr. Notes Theor. Comput. Sci. 209, pages 149--164, 2008. Google ScholarDigital Library
- P. C. Kanellakis and S. A. Smolka. Ccs expressions, finite state processes, and three problems of equivalence. In PODC, pages 228--240. ACM, 1983. Google ScholarDigital Library
- S. Knight, C. Palamidessi, P. Panangaden, and F. D. Valencia. Spatial and epistemic modalities in constraint-based process calculi. In CONCUR, pages 317--332, 2012. Google ScholarDigital Library
- N. P. Mendler, P. Panangaden, P. J. Scott, and R. A. G. Seely. A logical view of concurrent constraint programming. Nord. J. Comput., 2(2):181--220, 1995. Google ScholarDigital Library
- R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag New York, Inc., 1980. Google ScholarDigital Library
- R. Milner and D. Sangiorgi. Barbed bisimulation. In ICALP, LNCS, pages 685--695. Springer, 1992. Google ScholarDigital Library
- C. Olarte and F. D. Valencia. Universal concurrent constraint programing: symbolic semantics and applications to security. In SAC, pages 145--150. ACM, 2008. Google ScholarDigital Library
- R. Paige and R. E. Tarjan. Three partition refinement algorithms. SIAM J. Comput., 16(6):973--989, Dec. 1987. Google ScholarDigital Library
- C. Palamidessi, V. A. Saraswat, F. D. Valencia, and B. Victor. On the expressiveness of linearity vs persistence in the asychronous pi-calculus. In LICS, pages 59--68, 2006. Google ScholarDigital Library
- L. Pino, F. Bonchi, and F. Valencia. Efficient computation of program equivalence for confluent concurrent constraint programming (technical report). Technical report, LIX, Ecole Polytechnique, 2013. http://www.lix.polytechnique.fr/~luis.pino/files/minset-extended.pdf.Google Scholar
- V. A. Saraswat, R. Jagadeesan, and V. Gupta. Foundations of timed concurrent constraint programming. In LICS, pages 71--80. IEEE, 1994.Google ScholarCross Ref
- V. A. Saraswat, M. C. Rinard, and P. Panangaden. Semantic foundations of concurrent constraint programming. In POPL, pages 333--352. ACM Press, 1991. Google ScholarDigital Library
Index Terms
- Efficient computation of program equivalence for confluent concurrent constraint programming
Recommendations
Efficient algorithms for program equivalence for confluent concurrent constraint programming
Concurrent Constraint Programming (CCP) is a well-established declarative framework from concurrency theory. Its foundations and principles e.g., semantics, proof systems, axiomatizations, have been thoroughly studied for over the last two decades. In ...
Universal concurrent constraint programing: symbolic semantics and applications to security
SAC '08: Proceedings of the 2008 ACM symposium on Applied computingWe introduce the Universal Timed Concurrent Constraint Programming (utcc) process calculus; a generalisation of Timed Concurrent Constraint Programming. The utcc calculus allows for the specification of mobile behaviours in the sense of Milner's π-...
Subexponential concurrent constraint programming
In previous works we have shown that linear logic with subexponentials (SELL), a refinement of linear logic, can be used to specify emergent features of concurrent constraint programming (CCP) languages, such as preferences and spatial, epistemic and ...
Comments