ABSTRACT
We formalize a translation of an asynchronous Pi-calculus into Flat GHC which does not disrupt too much the intuitive correspondence between them, specially in which regards names vs. logical variables. However, our approach depends on the introduction of some artifacts, namely channel managers. Contrasting other studies, here the communication between managers and other processes is asynchronous. Although this approach is justified by a relaxed notion of compositionality for process algebras, we still need some methodology that allows us to reason about programs in the presence of managers. We show how techniques from program transformation and a form of dynamic search strategy can cope with this. The encoding has been implemented in Haskell and executable programs are obtained from asynchronous Pi-calculus specifications by means of the KLIC compiler. Alternatively, we have developed in Prolog an interpreter for Flat GHC that has proven useful to analyze aspects of the translation.
Supplemental Material
Available for Download
File proofs.pdf is an appendix to the paper "From the Pi-calculus to Flat GHC" by Ruben Monjaraz and Julio Mariño, presented at PPDP2012. This appendix contains the main proofs of the theorems in the work above.
- K. R. Apt. From logic programming to Prolog. Prentice-Hall, Inc., 1996. 2 Google ScholarDigital Library
- G. Boudol. Asynchrony and the π-calculus (note). Technical Report 1702, INRIA Sophia-Antipolis, May 1992. 1, 3Google Scholar
- T. Chikayama, T. Fujise, and D. Sekita. A portable and efficient implementation of kl1. In PLILP '94: Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming, pages 25--39. Springer-Verlag, 1994. 2, 9 Google ScholarDigital Library
- F. S. de Boer and C. Palamidessi. On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences. In J. Baeten and J. Klop, editors, CONCUR 1990 Theories of Concurrency: Unification and Extension, volume 458 of LNCS, pages 99--114. Springer-Verlag, 1990. 1, 2 Google ScholarDigital Library
- F. S. de Boer and C. Palamidessi. From concurrent logic programming to concurrent constraint programming. In Advances in logic programming theory, pages 55--113, NY, USA, 1994. Oxford University Press, Inc. 1, 2, 9 Google ScholarDigital Library
- I. Foster and S. Taylor. Strand: a practical parallel programming tool. In Proc. North American Symp. on Logic Programming, pages 497--512. MIT Press, 1989. 9Google Scholar
- J. H. Gallier. Logic for Computer Science: Foundations of Automatic Theorem Proving. Revised on-line version http://www.cis.upenn.edu/~jean/gbooks/logic.html, 2003. 4 Google ScholarDigital Library
- J.-Y. Girard. Linear logic. Theoretical Computer Science, 50(1):1--102, 1987. 1 Google ScholarDigital Library
- D. Gorla. Towards a unified approach to encodability and separation results for process calculi. In CONCUR 2008 - Concurrency Theory, volume 5201 of LNCS, pages 492--507. Springer-Verlag, 2008. 1, 2, 7 Google ScholarDigital Library
- K. Hirata. π-calculus semantics of Moded Flat GHC. Technical Report ISRL-95-3, NTT Basic Research Laboratories, 1995. 1Google Scholar
- K. Honda and M. Tokoro. An object calculus for asynchronous communication. In ECOOP '91: Proc. of the European Conference on Object-Oriented Programming, pages 133--147. Springer-Verlag, 1991. 1, 3 Google ScholarDigital Library
- F. Knabe. A distributed protocol for channel-based communication with choice. Computers and Artificial Intelligence, 12(5):475--490, 1993. 2, 3Google Scholar
- L. Leth and B. Thomsen. Some facile chemistry. Formal Aspects of Computing, 7(3):314--328, 1995. 2, 3Google ScholarCross Ref
- J.W. Lloyd. Foundations of logic programming. Springer-Verlag New York, Inc., New York, NY, USA, 1984. 2 Google ScholarDigital Library
- R. Milner. Communication and concurrency. Prentice-Hall, 1989. 2 Google ScholarDigital Library
- R. Milner. Communicating and Mobile Systems. Cambridge University Press, 1999. 1, 3 Google ScholarDigital Library
- R. Monjaraz. From the π-calculus to Flat GHC. Master's thesis, Facultad de Informática, Universidad Politecnica de Madrid, Spain, 2010. 2Google Scholar
- U. Nestmann. What is a "good" encoding of guarded choice? Inf.Comput., 156(1-2):287--319, 2000. 1, 3 Google ScholarDigital Library
- U. Nestmann and B. C. Pierce. Decoding choice encodings. In CONCUR 1996: Concurrency Theory, number 119 in LNCS, pages 179--194. Springer-Verlag, 1996. 3 Google ScholarDigital Library
- C. Palamidessi. Comparing the expressive power of the synchronous and asynchronous π-calculi. Mathematical. Structures in Comp. Sci., 13(5):685--719, 2003. 1, 7 Google ScholarDigital Library
- C. Palamidessi, V. Saraswat, F. D. Valencia, and B. Victor. On the expressiveness of linearity vs persistence in the asynchronous π-calculus. In LICS '06: Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science, pages 59--68. IEEE Computer Society, 2006. 1, 9 Google ScholarDigital Library
- J. Parrow. An introduction to the π-calculus. In J. Bergstra, A. Ponse, and S. Smolka, editors, Handbook of Process Algebra, pages 479--543. Elsevier, 2001. 1Google ScholarCross Ref
- A. Pettorossi and M. Proietti. Transformation of logic programs. In C. J. Hogger, D. M. Gabbay, and J. A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, volume 5, pages 697--787. Oxford University Press, 1998. 7, 8Google Scholar
- D. Sangiorgi and D. Walker. The π-calculus: A theory of mobile processes. Cambridge University Press, 2001. 3 Google ScholarDigital Library
- V. Saraswat and P. Lincoln. Higher-order, linear, concurrent constraint programming. Technical report, Xerox PARC, 1992. 1, 9Google Scholar
- V. A. Saraswat. Concurrent Constraint Programming. The MIT Press, 1993. 1, 9 Google ScholarDigital Library
- E. Shapiro. The family of concurrent logic programming languages. ACM Comput. Surv., 21(3):413--510, 1989. 2, 4 Google ScholarDigital Library
- E. Shapiro and C. Mierowsky. Fair, biased, and self-balancing merge operators: Their specification and implementation in Concurrent Prolog. In Concurrent Prolog: collected papers, volume 1, pages 392--413, Cambridge, MA, USA, 1987. MIT Press. 2, 4 Google ScholarDigital Library
- P. Thati, K. Sen, and N. Martí-Oliet. An executable specification of asynchronous pi-calculus semantics and may testing in Maude 2.0. Electronic Notes in Theoretical Computer Science, 71:261--281, 2004. WRLA 2002, Rewriting Logic and Its Applications. 2Google ScholarCross Ref
- E. Tick. Parallel logic programming. MIT Press, Cambridge, MA, USA, 1991. 2 Google ScholarDigital Library
- K. Ueda. Guarded horn clauses. In E. Wada, editor, Proc. Logic Programming '85, volume 221 of LNCS, pages 168--179. Springer- Verlag, 1986. 1, 2 Google ScholarDigital Library
- K. Ueda. Resource-passing concurrent programming. In N. Kobayashi and B. C. Pierce, editors, Theoretical Aspects of Computer Software 2001, volume 2215 of LNCS, pages 95--126. Springer-Verlag, 2001. 1 Google ScholarDigital Library
- K. Ueda. Constraint-based concurrency and beyond. In L. Aceto and A. Gordon, editors, Algebraic Process Calculi: The First Twenty Five Years and Beyond, number NS-05-3 in BRICS Notes Series, pages 168--179. BRICS, Department of Computer Science, University of Aarhus, 2005. 1Google Scholar
- K. Ueda and K. Furukawa. Transformation rules for GHC programs. In Proc. of the Int'l Conf. on Fifth Generation Computer Systems 1988, Tokyo, Japan, pages 582--591. Springer-Verlag, 1988. 7Google Scholar
- B. Victor and J. Parrow. Constraints as processes. In U. Montanari and V. Sassone, editors, Proc. of CONCUR 1996, volume 1119 of LNCS, pages 389--405. Springer-Verlag, 1996. 1 Google ScholarDigital Library
- P. Viry. A rewriting implementation of pi-calculus. Technical report, University of Pisa, 1996. 2 Google ScholarDigital Library
- P. Yang, C. R. Ramakrishnan, and S. A. Smolka. A logical encoding of the π-calculus: Model checking mobile processes using tabled resolution. In VMCAI 2003: Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation, volume 2575 of LNCS, pages 116--131. Springer-Verlag, 2003. 2 Google ScholarDigital Library
Index Terms
- From the π-calculus to flat GHC
Recommendations
Overlay GHC: An Extension of Guarded Horn Clauses for Overlay Programming
DEXA '08: Proceedings of the 2008 19th International Conference on Database and Expert Systems ApplicationToday's high-speed network allows sophisticated applications of overlay networks. Meanwhile, usage of multicore processors has been spreading. The level of concurrency we need to handle has been rising rapidly, which necessitates a language that can ...
LMNtal as a hierarchical logic programming language
LMNtal (pronounced ''elemental'') is a simple language model based on hierarchical graph rewriting that uses logical variables to represent connectivity and membranes to represent hierarchy. LMNtal is an outcome of the attempt to unify constraint-based ...
A Pure Meta-interpreter for Flat GHC, a Concurrent Constraint Language
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part IThis paper discusses the construction of a meta-interpreter of Flat GHC, one of the simplest and earliest concurrent constraint languages.Meta-interpretation has a long history in logic programming, and has been applied extensively to building ...
Comments