skip to main content
10.1145/2370776.2370797acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

From the π-calculus to flat GHC

Authors Info & Claims
Published:19 September 2012Publication History

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.

Skip Supplemental Material Section

Supplemental Material

References

  1. K. R. Apt. From logic programming to Prolog. Prentice-Hall, Inc., 1996. 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Boudol. Asynchrony and the π-calculus (note). Technical Report 1702, INRIA Sophia-Antipolis, May 1992. 1, 3Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. J.-Y. Girard. Linear logic. Theoretical Computer Science, 50(1):1--102, 1987. 1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Hirata. π-calculus semantics of Moded Flat GHC. Technical Report ISRL-95-3, NTT Basic Research Laboratories, 1995. 1Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Knabe. A distributed protocol for channel-based communication with choice. Computers and Artificial Intelligence, 12(5):475--490, 1993. 2, 3Google ScholarGoogle Scholar
  13. L. Leth and B. Thomsen. Some facile chemistry. Formal Aspects of Computing, 7(3):314--328, 1995. 2, 3Google ScholarGoogle ScholarCross RefCross Ref
  14. J.W. Lloyd. Foundations of logic programming. Springer-Verlag New York, Inc., New York, NY, USA, 1984. 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Milner. Communication and concurrency. Prentice-Hall, 1989. 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Milner. Communicating and Mobile Systems. Cambridge University Press, 1999. 1, 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Monjaraz. From the π-calculus to Flat GHC. Master's thesis, Facultad de Informática, Universidad Politecnica de Madrid, Spain, 2010. 2Google ScholarGoogle Scholar
  18. U. Nestmann. What is a "good" encoding of guarded choice? Inf.Comput., 156(1-2):287--319, 2000. 1, 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle Scholar
  24. D. Sangiorgi and D. Walker. The π-calculus: A theory of mobile processes. Cambridge University Press, 2001. 3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. V. Saraswat and P. Lincoln. Higher-order, linear, concurrent constraint programming. Technical report, Xerox PARC, 1992. 1, 9Google ScholarGoogle Scholar
  26. V. A. Saraswat. Concurrent Constraint Programming. The MIT Press, 1993. 1, 9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. E. Shapiro. The family of concurrent logic programming languages. ACM Comput. Surv., 21(3):413--510, 1989. 2, 4 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarCross RefCross Ref
  30. E. Tick. Parallel logic programming. MIT Press, Cambridge, MA, USA, 1991. 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle Scholar
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. P. Viry. A rewriting implementation of pi-calculus. Technical report, University of Pisa, 1996. 2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. From the π-calculus to flat GHC

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      PPDP '12: Proceedings of the 14th symposium on Principles and practice of declarative programming
      September 2012
      226 pages
      ISBN:9781450315227
      DOI:10.1145/2370776

      Copyright © 2012 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 September 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate230of486submissions,47%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader