Programming interfaces and basic topology
Peter Hancock, Pierre Hyvernat (IML)

TL;DR
This paper introduces a category of interaction structures modeling service exchanges in programming, linking them to basic topologies and providing insights into non-distributive formal topology.
Contribution
It establishes a correspondence between interaction structures and generated basic topologies, offering a new perspective on formal topology in programming.
Findings
Category of interaction structures models service exchanges.
Relation-based simulations can be executable programs.
Connection between interaction structures and non-distributive formal topologies.
Abstract
A pattern of interaction that arises again and again in programming is a "handshake", in which two agents exchange data. The exchange is thought of as provision of a service. Each interaction is initiated by a specific agent--the client or Angel--and concluded by the other--the server or Demon. We present a category in which the objects--called interaction structures in the paper--serve as descriptions of services provided across such handshaken interfaces. The morphisms--called (general) simulations--model components that provide one such service, relying on another. The morphisms are relations between the underlying sets of the interaction structures. The proof that a relation is a simulation can serve (in principle) as an executable program, whose specification is that it provides the service described by its domain, given an implementation of the service described by its codomain.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Logic, programming, and type systems · Logic, Reasoning, and Knowledge
