Skip to main content

Specification Structures and propositions-as-types for concurrency

  • Chapter
  • First Online:
Logics for Concurrency

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

Abstract

Many different notions of “property of interest” and methods of verifying such properties arise naturally in programming. A general framework of “Specification Structures” is presented for combining different notions and methods in a coherent fashion. This is then applied to concurrency in the setting of Interaction Categories. As an example, we present a type system for concurrent processes strong enough to guarantee deadlock-freedom, and expressive enough to allow the treatment of some standard examples from the literature. This is illustrated using the classic Dining Philosophers problem.

This research was supported by EPSRC project “Foundational Structures in Computer Science”, and EU projects “CONFER” (ESPRIT BRA 6454) and “COORDINATION” (ESPRIT BRA 9102).

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. S. Abramsky, S. J. Gay, and R. Nagarajan. Interaction categories and foundations of typed concurrent programming. In M. Broy, editor, Deductive Program Design: Proceedings of the 1994 Marktoberdorf International Summer School, NATO ASI Series F: Computer and Systems Sciences. Springer-Verlag, 1995. Also available as theory/papers/Abramsky/marktoberdorf.ps.gz via anonymous ftp to theory.doc.ic.ac.uk.

    Google Scholar 

  2. S. Abramsky. Domain theory in logical form. Annals of Pure and Applied Logic, 51:1–77, 1991.

    Article  Google Scholar 

  3. S. Abramsky. Interaction Categories (Extended Abstract). In G. L. Burn, S. J. Gay, and M. D. Ryan, editors, Theory and Formal Methods 1993: Proceedings of the First Imperial College Department of Computing Workshop on Theory and Formal Methods, pages 57–70. Springer-Verlag Workshops in Computer Science, 1993.

    Google Scholar 

  4. S. Abramsky. Interaction Categories and communicating sequential processes. In A. W. Roscoe, editor, A Classical Mind: Essays in Honour of C. A. R. Hoare, pages 1–15. Prentice Hall International, 1994.

    Google Scholar 

  5. S. Abramsky. Proofs as processes. Theoretical Computer Science, 135:5–9, 1994.

    Article  Google Scholar 

  6. S. Abramsky. Interaction Categories I: Synchronous processes. Paper in preparation, 1995.

    Google Scholar 

  7. S. Abramsky and R. Jagadeesan. Games and full completeness for multiplicative linear logic. Journal of Symbolic Logic, 59(2):543–574, June 1994.

    Google Scholar 

  8. S. Abramsky and R. Jagadeesan. New foundations for the geometry of interaction. Information and Computation, 111(1):53–119, 1994.

    Article  Google Scholar 

  9. S. Abramsky, R. Jagadeesan, and P. Malacaria. Full abstraction for PCF (extended abstract). In M. Hagiya and J. C. Mitchell, editors, Theoretical Aspects of Computer Software. International Symposium TACS'94, number 789 in Lecture Notes in Computer Science, pages 1–15, Sendai, Japan, April 1994. Springer-Verlag.

    Google Scholar 

  10. A. Asperti and G. Longo. Categories, Types and Structures: An introduction to category theory for the working computer scientist. Foundations of Computing Series. MIT Press, 1991.

    Google Scholar 

  11. M. Barr. *-autonomous categories and linear logic. Mathematical Structures in Computer Science, 1(2):159–178, July 1991.

    Google Scholar 

  12. G. Berry and P.-L. Curien. Theory and practice of sequential algorithms: the kernel of the applicative language CDS. In J. C. Reynolds and M. Nivat, editors, Algebraic Semantics, pages 35–84. Cambridge University Press, 1985.

    Google Scholar 

  13. R. Blute. Linear logic, coherence and dinaturality. Theoretical Computer Science, 115(1):3–41, 1993.

    Article  Google Scholar 

  14. P. M. Cohn. Universal Algebra, volume 6. D. Reidel, 1981.

    Google Scholar 

  15. R. L. Croie. Categories for Types. Cambridge University Press, 1994.

    Google Scholar 

  16. J. W. de Bakker. Mathematical Theory of Program Correctness. Prentice Hall International, 1980.

    Google Scholar 

  17. W. P. de Roever. The quest for compositionality—a survey of assertion based proof systems for concurrent programs, Part I: Concurrency based on shared variables. In Proceedings of the IFIP Working Conference, 1985.

    Google Scholar 

  18. S. J. Gay. Linear Types for Communicating Processes. PhD thesis, University of London, 1995. Available as theory/papers/Gay/thesis.ps.gz via anonymous ftp to theory.doc.ic.ac.uk.

    Google Scholar 

  19. G. Gentzen. Investigations into logical deduction. In M. E. Szabo, editor, The Collected Papers of Gerhard Gentzen. North-Holland, 1969.

    Google Scholar 

  20. J.-Y. Girard. Linear Logic. Theoretical Computer Science, 50(1):1–102, 1987.

    Article  Google Scholar 

  21. J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types, volume 7 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1989.

    Google Scholar 

  22. C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.

    Google Scholar 

  23. N. D. Jones and F. Nielson. Abstract interpretation. In S. Abramsky, D. Gabbay, and T. Maibaum, editors, Handbook of Logic in Computer Science, volume 4. Oxford University Press, 1995. To appear.

    Google Scholar 

  24. G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19:193–213, 1980.

    Article  Google Scholar 

  25. D. C. Kozen and J. Tiuryn. Logics of programs. In van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 789–840. North Holland, 1990.

    Google Scholar 

  26. S. MacLane. Categories for the Working Mathematician. Springer-Verlag, Berlin, 1971.

    Google Scholar 

  27. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.

    Google Scholar 

  28. J. McKinna and R. Burstall. Deliverables: A categorical approach to program development in type theory. In Proceedings of Mathematical Foundation of Computer Science, 1993.

    Google Scholar 

  29. R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.

    Article  Google Scholar 

  30. R. Milner. Communication and Concurrency. Prentice Hall, 1989.

    Google Scholar 

  31. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  32. P. W. O'Hearn and R. D. Tennent. Relational parametricity and local variables. In Proceedings, 20th ACM Symposium on Principles of Programming Languages. ACM Press, 1993.

    Google Scholar 

  33. A. M. Pitts. Relational properties of recursively defined domains. In 8th Annual Symposium on Logic in Computer Science, pages 86–97. IEEE Computer Society Press, Washington, 1993.

    Google Scholar 

  34. R. Soare. Recursively Enumerable Sets and Degrees. Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987.

    Google Scholar 

  35. J. B. Wells. Typability and type checking in the second-order λ-calculus are equivalent and undecidable. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Faron Moller Graham Birtwistle

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Abramsky, S., Gay, S., Nagarajan, R. (1996). Specification Structures and propositions-as-types for concurrency. In: Moller, F., Birtwistle, G. (eds) Logics for Concurrency. Lecture Notes in Computer Science, vol 1043. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60915-6_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-60915-6_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60915-5

  • Online ISBN: 978-3-540-49675-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics