Hostname: page-component-8448b6f56d-mp689 Total loading time: 0 Render date: 2024-04-24T03:49:52.367Z Has data issue: false hasContentIssue false

Sheaf semantics for concurrent interacting objects

Published online by Cambridge University Press:  04 March 2009

Joseph A. Goguen
Affiliation:
Programming Research Group, Oxford University

Abstract

This paper uses concepts from sheaf theory to explain phenomena in concurrent systems, including object, inheritance, deadlock, and non-interference, as used in computer security. The approach is very; general, and applies not only to concurrent object oriented systems, but also to systems of differential equations, electrical circuits, hardware description languages, and much more. Time can be discrete or continuous, linear or branching, and distribution is allowed over space as well as time. Concepts from categpru theory help to achieve this generality: objects are modelled by sheaves; inheritance by sheaf morphisms; systems by diagrams; and interconnection by diagrams of diagrams. In addition, behaviour is given by limit, and the result of interconnection by colimit. The approach is illustrated with many examples, including a semantics for a simple concurrent object-based programming language.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1992

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Agha, G. (1986). Actors: A Model of Concurrent Computation in distributed Systems. MIT.CrossRefGoogle Scholar
Barr, M. and Wells, C. (1984). Toposes, Triples and Theories. Springer. Grundlehren der mathematischen Wissenschafter, Volume 278.Google Scholar
Barr, M. and wells, C. (1990). Category Theroy for Computing Science. Prentice-Hall.Google Scholar
Barwise, J. and Perry, J. (1983). Situationsm and Attitudes. MIT. Bradford Books.Google Scholar
Bergstra, J. and Klop, J.W. (1984). Process algebra for synchronous communication. Information and control, 60:190–137.CrossRefGoogle Scholar
Dretske, F. (1981). Knowledge and the Flow of Information. MIT. Bradford Boods.Google Scholar
Ehich, H.D., Goguen, J. and Sernadas, A. (1991). A categorial theory of objects as observed processes. In deBakker, J.W., de Roever, Willem P., and Rozenberg, Gregorz, editors, Foundations of Object Oriented Languages, Pages 203228. Springer. Lecture Notesn in computer Science, Volume 489; Proceedings, REX/FOOL Worshop, Noordwijkerhout, The Netherlands, May/June 1990.CrossRefGoogle Scholar
Ehrich, H.D. and Sernadas, A. (1990). Alegebraic implementaion of objects over objects. In deBakker, J.W., deRoever, Jan Willem, and Rozenberg, Gregorz, editors, Proceedings, REX Workshop on Stepwise Refinement of Distributed Systems: Models, Formalisms, correctness, Pages 239266. Springer. Lecture Notesn in computer Science, Volume 430.CrossRefGoogle Scholar
Ehrich, H.D., Sernadas, A. and Sernadas, C. (1989). Objects, object types, and object identification. In Ehrig, Hartmut et al. , editors, Categorical Methods in Computer Science with Aspects from Topology, pages 142156. Springer. Lecture Notes in Computer Science, Volume 393.CrossRefGoogle Scholar
Ehrich, H.D., Sernadas, A. and Sernadas, C. (1990). From data types to object types. Journal of Information Processing and Cyberntics, 261(1/2):33–48.Google Scholar
Ferrari, G.L. (1990). Unifying Models of Concurrency. PhD thesis, University of Pisa.Google Scholar
Girard, J.Y. (1986). Linear logic. Theoretical Computer Science, 46:1102.Google Scholar
Goguen, J. (1971). Mathematical representation of hierarchically organized systems. In Attinger, E., editor, Global systems Dynamics, pages 112128. s. Karger.Google Scholar
Goguen, J. (1973). categorical foundations for general systems theory. In Pichler, F. and Trappl, R., editors, Advances in Cybernetics and systems Research, pages 121130. Trabscruota Books.Google Scholar
Goguen, J. (1975). Objects. International Journal of General systems, 1(4): 237243.CrossRefGoogle Scholar
Goguen, J. (1991a). A categorical manifesto. Mathematical Structures in Computer science, 1(1):4967. Also Programming Research Group Technical Monograph PRG-72, University of Oxford, March 1989.CrossRefGoogle Scholar
Goguen, J. (1991b). Semantic specifications for the rewrite rule machine. In Yonezawa, Aki and Ito, Takayasu, editors, Concurrency: Theory, Language and Architecturm, pages 216234. Proceedings of a U.K.–Japan Workshop. Springer. Lecture Notes in Computer Science, Volume 491.Google Scholar
Goguen, J. and Ginali, S. (1978). A categorical approach to general systems theory. In Klir, George, editor, Applied General Systems Research, pages 257270. Plenum.Google Scholar
Goguen, J.Leinwand, S., Meseguer, J., and Winkler, T. (1989). The Rewrite Rule Machine, 1988. Technical Report Technical Monograph PRG-76, Programming Research Group, Oxford University.CrossRefGoogle Scholar
Goguen, J. and Meseguer, J. (1982). Security policies and security models. In schafer, Marvin and Dening, Dorothy D., editors, Proceedings, 1982 Symposium on Security and Privacy, pages 1122. IEEE Computer Society.CrossRefGoogle Scholar
Goguen, J. and Meseguer, J. (1984). Unwinding and inference control. In Denning, Dorothy D. and Millen, Jonathan K., editors, Proceedings, 1982 Symposium on Security and Privacy, pages 7586. IEEE Computer Society.Google Scholar
Goguen, J. and Meseguer, J. (1987). Unifying functional, object-oriented and relational programming, with logical semantics. In shriver, Bruce and Wegner, Peter, editors, Research Directions in Object-Oriented Programming, pages 417–477. MIT. Preliminary versiion in SIGPLAN Notices, Volume 21 Number 10, pages 153–162, October 1986.Google Scholar
Goguen, J. and Meseguer, J. (1989). Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Technical Report SRI-CSL-89-10, SRI International, Computer Science Lab. Given as lecture at Seminar on Types, Carnegie-Mellon Universuty, 06 1983; many draft versions exist.Google Scholar
Goguen, J., Thatcher, J. and Wagner, E. (1976). An initial algebra approach to the specification, correctness and implementation of abstract data types. Technical Report RC 6487, IBM TJ. Watson Research Center. Also in current Trends in Programming Methodology, IV, Yeh, Raymond, editor, Prentice-Hall, 1978, pages 80149.Google Scholar
Goguen, J., and Wolfram, D. (1991). On types and FOOPS. In Meersman, Robert and Khosla, Samjit editors, Proceedings, IFIP TC2 Conference on Object Oriented Databases. North Holland, to appear.Google Scholar
Goldblatt, R. (1979). Topoi the Categorial Analysis of Logic. North-Holland.Google Scholar
Gordon, M.J.C. (1986). Why higher-order logic is a good formalism for specifying and verifying hardware. In Milne, George and Subrahmanyam, P.A., editors, Formal Aspects of VLSI Design. North-Holland.Google Scholar
Gray, J. (1965). Sheaves with values in a category. Topology, 3(1):1–18.CrossRefGoogle Scholar
Grothendieck, A. (1963). Catégories fibrées et descente. In Revětements étales et gruope fondamental, Séminaire de Géométrie Algébraique du Bois-Marie 1960/61, Exposé VI. Institut des Hautes Etudes Scientifiques. Reprinted in Lecture Noted in Mathematics, Volume 224, Springer, 1971, paages 145–94.Google Scholar
Hoare, C.A.R. (1985). Communicating sequential Processes. Prentice-Hall.Google Scholar
Jocob, J. (1988). A security franconia. In Proceedings, 1988 Computer Security Foundations Workshop, pages 98111. MITRE. Franconia, New Hampshire.Google Scholar
Mac Lane, S. (1971). Categories for the Working Mathematician. Springer.CrossRefGoogle Scholar
Lawvere, F.W. (1975). Introduction. In Lawvere, F. William, Maurer, C., and Wraith, Gavin, editors, Model Theory and Topoi, pages 314. Springer. Lecture Notes in Mathematics, Volume 445.CrossRefGoogle Scholar
Lilus, J. (1991). Sheaf semantics for Petri nets. Technical report, Helsinki University of Technology.Google Scholar
Meseguer, J. and Montanari, U. (1988). Petri nets are monoids: A new algebraic foundation for net theory. In Proceedings, Symposium on Logic in Computer Science. IEEE Computer Society. Full version in Technical Report SRI-CSL-88-3, Computer Science Laboratory, SRI International, January 1988; submitted to Information and Computation.Google Scholar
Milner, R. (1980). A Calculus of Communicating Systems. Springer. Lecture Notes in Computer Science, Volume 92.CrossRefGoogle Scholar
Monteiro, L. and Pereora, F. (1986). A sheaf-theoretic model of concurrency. Technical Report; CSLI-86-62, Center for the Study of Language and Information, Stanford University.Google Scholar
O'Halloran, C. (1990). A callculus of information flow. Technical report, Royal Signals and Radar Establishment, Malvern.Google Scholar
Pierce, B.C. (1990). A taste of category theory for computer scientists. Technical report CMU-CS-90-113, Carnegie-Mellon University.Google Scholar
Reisig, W. (1986). Petri Nets: An Introduction. Springer. EATCS Monographs on Theoretical Computer Science.Google Scholar
Star, S.L. (1988). The structure of ill-structured solutions: heterogeneous problem-solving, bound-ary objects and distributed artificial intelligence. In Huhuns, Michael and Gasser, Les, editor, Distributed Artificial Intelligence, Volume 3, pages 37–54. Morgan Kauffmann.Google Scholar
Stavridou, V., Goguen, J., Eker, S. and Aloneftis, A. (1991). FUNNEL: A CHEL with formal semantics. In Proceedings, Advanced Research Workshop on Correct Hardware Design Methodologies, pages 117144. IEEE. Turin.Google Scholar
Tarlecki, A., Burstall, R., and Goguen, J. (1991). Some fundamental algebraic tools for the semantics of computation, part 3: Indexed categories. Theoretical Computer Science, 91:239264. Also, Technical Report PRG-77, 08 1989, Programming Research Group, Oxford University.Google Scholar
Tennison, B.R. (1975). Sheaf Theory. Cambridge. London Mathematical Social Lecture Notes series, 20.CrossRefGoogle Scholar
Winskel, G. (1990). A compositionaal proof system on a caategory of labelled transition systems. Information and Computation, 87:257.CrossRefGoogle Scholar
Yosida, K. (1968). Functional Analysis. Springer. second Editopn.CrossRefGoogle Scholar