Skip to main content

Full abstractness for a functional/concurrent language with higher-order value-passing

Extended abstract

  • Conference paper
  • First Online:
Computer Science Logic (CSL 1997)

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

Included in the following conference series:

  • 115 Accesses

Abstract

We study an applied typed call-by-value λ-calculus which in addition to the usual types for higher-order functions contains an extra type called proc, for processes; the constructors for terms of this type are similar to those found in standard process calculi such as CCS. We first give an operational semantics for this language in terms of a labelled transition system which is then used to give a behavioural preorderbased on contexts; the expression N dominates M if in every appropriate context if M can produce a boolean value then so can N.

Based on standard domain constructors we define a model, a prime algebraic lattice, which is fully abstract with respect to this behaviour preorder; expressions are related in the model if and only if they are related behaviourally.

The proof method uses concepts which are of independent interest. It involves characterising the domain using filters of a property logic for program expressions and developing a program logic for relating program expressions with property formulae.

Research supported by EPSRC grant GR/K60701 and the EU Working Group EXPRESS

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. D.M. Gabbay and T.S.E.Maibaum, (eds) D.M. Gabbay and T.S.E.Maibaum, (eds) Handbook of Logic in Computer Science vol 1–6, Oxford Science Publications, Clarendon Press, Oxford 1994.

    Google Scholar 

  2. S. Abramsky, “Domain Theory in Logical Form”, Annals of Pure and Applied Logic, vol 51, pp. 1–77, 1991.

    Article  Google Scholar 

  3. S. Abramsky, “A Domain Equation for Bisimulation”, Information and Computation, vol 92, pp. 161–218, 1991.

    Article  Google Scholar 

  4. R. M. Amadio, “Translating Core Facile”, Technical Report ECRC-1994-3, European Computer-Industry Research Center, Munich, 1994.

    Google Scholar 

  5. H.P. Barendregt, The λ-Calculus, its Syntax and Semantics, North-Holland, Amsterdam, 1984.

    Google Scholar 

  6. G. Boudol, “A λ-Calculus for (Strict) Parallel Functions”, Information and Computation, vol 108, pp. 51–127, 1994.

    Article  Google Scholar 

  7. H. Barendregt, M. Coppo and M. Dezani-Ciancaglini, “A Filter Model and the Completeness of Type Assignment”, Journal of Symbolic Logic, vol 48, pp. 931–940, 1983.

    Google Scholar 

  8. M. Dezani-Ciancaglini, U. de Liguoro and A. Piperno, “Fully Abstract Semantics for Concurrent Lambda-Calculus”, Proc. TAGS '94, LNCS 789, SpringerVerlag, Berlin 1994, 16–35.

    Google Scholar 

  9. A. Giacalone, P. Mishra and S. Prasad, “FACILE: A symmetric integration of Concurrent and Functional Programming”, International Journal of Parallel Programming, vol 15, No 2, pp. 121–160, 1989.

    Article  Google Scholar 

  10. W. Fereira, M. Hennessy and A. Jeffrey, “Combining the Typed λ-Calculus with CCS”, Report 2/96, University of Sussex, Computer Science, May 1996.

    Google Scholar 

  11. C. Fournet and G. Gonthier, “The Reflexive CHAM and the Join-Calculus”, Proc. POPL 94, 1994.

    Google Scholar 

  12. A. Jeffrey, “A Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types”, Proc. LICS'95, 1995.

    Google Scholar 

  13. C. Hartonas and M. Hennessy, “Full Abstractness for a Functional/Concurrent Language with Higher-Order Value-Passing”, University of Sussex, Computer Science Technical Report 02/97. To appear in Information and Computation.

    Google Scholar 

  14. M. Hennessy, An Algebraic Theory of Processes, MIT Press, Cambridge, MA, 1988.

    Google Scholar 

  15. M. Hennessy, “A Fully Abstract Denotational Model for Higher-Order Processes”, Information and Computation vol. 112, No 1, pp. 55–95, 1994.

    Article  Google Scholar 

  16. M. Hennessy, “Higher-Order Processes and their Models”, ICALP '94.

    Google Scholar 

  17. K.G. Larsen, “Proof Systems for Satisfiability in Hennessy-Milner Logic with Recursion”, Theoretical Computer Science vol 72, 265–288, 1990.

    Article  Google Scholar 

  18. R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs, NJ, 1989.

    Google Scholar 

  19. R. Milner, J. Parrow and D. Walker, “A Calculus of Mobile Processes I, II”, Information and Computation vol 100, pp 1–40, pp 41–77, 1992.

    Article  Google Scholar 

  20. E. Moggi, “Notions of Computation and Monads”, Information and Computation93, 1991, pp. 55–92.

    Article  Google Scholar 

  21. J. Morris, “Lambda-Calculus Models of Programming Languages”, Ph.D. Thesis, MIT, 1968.

    Google Scholar 

  22. G. Plotkin, “A Powerdomain Construction”, SIAM Journal on Computation, vol 5, pp 452–487, 1976.

    Article  Google Scholar 

  23. G. Plotkin, “LCP Considered as a Programming Language”, Theoretical Computer Science vol 5, pp. 323–355, 1997.

    Google Scholar 

  24. J.H. Reppy, “A Higher-Order Concurrent Language”, in Proceedings of the ACM SIGPLAN '91 PLDI, SIGPLAN Notices, No 26, pp. 294–305, 1991.

    Google Scholar 

  25. J.H. Reppy, Higher-Order Concurrency, Ph.D. thesis, Cornell University, 1991.

    Google Scholar 

  26. J. Reppy, “CML: A Higher-Order Concurrent Language”, in Proc. ACM-SIGPLAN 91, Conf. on Programming Language Design and Implementation, 1991.

    Google Scholar 

  27. K. Sieber, “Call-by-Value and Nondeterminism”, in Typed λ-Calculi and Applications, eds. M. Bezen and J.P.Groote, LNCS 664, Springer-Verlag 1993.

    Google Scholar 

  28. I. Stark, “A Fully-Abstract Domain Model for the π-Calculus”, Proc. LICS'96, 1996.

    Google Scholar 

  29. C. Stirling, “A Proof-Theoretic Characterization of Observational Equivalence”, Theoretical Computer Science vol 39, 27–45, 1985.

    Article  Google Scholar 

  30. C. Stirling, “Modal Logics for Communicating Systems”, Theoretical Computer Science vol 49, 311–347, 1987.

    Article  Google Scholar 

  31. B. Thomsen, Calculi for Higher-Order Communicating Systems, Ph.D. thesis, Imperial College, 1990.

    Google Scholar 

  32. B. Thomsen, “Plain Chocs: A Second Generation Calculus for Higher Order Processes”, Acta Informatica vol 30, pp 1–59, 1993.

    Article  Google Scholar 

  33. G. Winskel, “A Complete Proof System for SCCS with Modal Assertions”, LNCS vol 206, 392–410, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mogens Nielsen Wolfgang Thomas

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hartonas, C., Hennessy, M. (1998). Full abstractness for a functional/concurrent language with higher-order value-passing. In: Nielsen, M., Thomas, W. (eds) Computer Science Logic. CSL 1997. Lecture Notes in Computer Science, vol 1414. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028018

Download citation

  • DOI: https://doi.org/10.1007/BFb0028018

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64570-2

  • Online ISBN: 978-3-540-69353-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics