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).
Preview
Unable to display preview. Download preview PDF.
References
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.
S. Abramsky. Domain theory in logical form. Annals of Pure and Applied Logic, 51:1–77, 1991.
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.
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.
S. Abramsky. Proofs as processes. Theoretical Computer Science, 135:5–9, 1994.
S. Abramsky. Interaction Categories I: Synchronous processes. Paper in preparation, 1995.
S. Abramsky and R. Jagadeesan. Games and full completeness for multiplicative linear logic. Journal of Symbolic Logic, 59(2):543–574, June 1994.
S. Abramsky and R. Jagadeesan. New foundations for the geometry of interaction. Information and Computation, 111(1):53–119, 1994.
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.
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.
M. Barr. *-autonomous categories and linear logic. Mathematical Structures in Computer Science, 1(2):159–178, July 1991.
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.
R. Blute. Linear logic, coherence and dinaturality. Theoretical Computer Science, 115(1):3–41, 1993.
P. M. Cohn. Universal Algebra, volume 6. D. Reidel, 1981.
R. L. Croie. Categories for Types. Cambridge University Press, 1994.
J. W. de Bakker. Mathematical Theory of Program Correctness. Prentice Hall International, 1980.
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.
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.
G. Gentzen. Investigations into logical deduction. In M. E. Szabo, editor, The Collected Papers of Gerhard Gentzen. North-Holland, 1969.
J.-Y. Girard. Linear Logic. Theoretical Computer Science, 50(1):1–102, 1987.
J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types, volume 7 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1989.
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
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.
G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19:193–213, 1980.
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.
S. MacLane. Categories for the Working Mathematician. Springer-Verlag, Berlin, 1971.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.
J. McKinna and R. Burstall. Deliverables: A categorical approach to program development in type theory. In Proceedings of Mathematical Foundation of Computer Science, 1993.
R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.
R. Milner. Communication and Concurrency. Prentice Hall, 1989.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.
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.
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.
R. Soare. Recursively Enumerable Sets and Degrees. Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987.
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.
Author information
Authors and Affiliations
Editor information
Rights 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